httpcat-cli 0.2.13 → 0.3.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 +9 -9
- package/bun.lock +13 -1308
- package/dist/agent/tools.d.ts.map +1 -1
- package/dist/agent/tools.js +87 -5
- package/dist/agent/tools.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +403 -46
- package/dist/client.js.map +1 -1
- package/dist/commands/account.d.ts.map +1 -1
- package/dist/commands/account.js +1 -0
- package/dist/commands/account.js.map +1 -1
- package/dist/commands/balances.d.ts.map +1 -1
- package/dist/commands/balances.js +39 -14
- package/dist/commands/balances.js.map +1 -1
- package/dist/commands/buy.d.ts.map +1 -1
- package/dist/commands/buy.js +29 -15
- package/dist/commands/buy.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +34 -21
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +12 -9
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/positions.js +4 -4
- package/dist/commands/positions.js.map +1 -1
- package/dist/commands/sell.d.ts.map +1 -1
- package/dist/commands/sell.js +18 -11
- package/dist/commands/sell.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +77 -10
- package/dist/config.js.map +1 -1
- package/dist/index.js +354 -118
- package/dist/index.js.map +1 -1
- package/dist/interactive/art.d.ts.map +1 -1
- package/dist/interactive/art.js +38 -0
- package/dist/interactive/art.js.map +1 -1
- package/dist/interactive/shell.d.ts.map +1 -1
- package/dist/interactive/shell.js +511 -111
- package/dist/interactive/shell.js.map +1 -1
- package/dist/mcp/chat-state.d.ts.map +1 -1
- package/dist/mcp/chat-state.js +2 -1
- package/dist/mcp/chat-state.js.map +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +108 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +44 -2
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +3 -3
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
- package/dist/utils/privateKeyPrompt.js +31 -7
- package/dist/utils/privateKeyPrompt.js.map +1 -1
- package/dist/utils/status.d.ts.map +1 -0
- package/dist/utils/status.js +67 -0
- package/dist/utils/status.js.map +1 -0
- package/dist/utils/token-resolver.d.ts.map +1 -1
- package/dist/utils/token-resolver.js +9 -0
- package/dist/utils/token-resolver.js.map +1 -1
- package/package.json +5 -4
package/dist/client.js
CHANGED
|
@@ -1,28 +1,261 @@
|
|
|
1
|
-
import { wrapFetchWithPayment
|
|
1
|
+
import { wrapFetchWithPayment } from "@x402/fetch";
|
|
2
|
+
import { x402Client } from "@x402/core/client";
|
|
3
|
+
import { ExactEvmScheme } from "@x402/evm";
|
|
4
|
+
import { privateKeyToAccount } from "viem/accounts";
|
|
5
|
+
import { randomBytes } from "crypto";
|
|
2
6
|
import { config } from "./config.js";
|
|
7
|
+
import { getUSDCAddress } from "./utils/constants.js";
|
|
3
8
|
export class HttpcatClient {
|
|
4
9
|
fetchWithPayment;
|
|
5
10
|
agentUrl;
|
|
6
11
|
network;
|
|
7
|
-
|
|
12
|
+
signer;
|
|
13
|
+
networkCaip2;
|
|
14
|
+
constructor(fetchWithPayment, agentUrl, network, signer, networkCaip2) {
|
|
8
15
|
this.fetchWithPayment = fetchWithPayment;
|
|
9
16
|
this.agentUrl = agentUrl;
|
|
10
17
|
this.network = network;
|
|
18
|
+
this.signer = signer;
|
|
19
|
+
this.networkCaip2 = networkCaip2;
|
|
11
20
|
}
|
|
12
21
|
static async create(privateKey) {
|
|
13
22
|
const pk = privateKey || config.getPrivateKey();
|
|
14
23
|
const network = config.get("network");
|
|
15
24
|
const agentUrl = config.getAgentUrl(); // Use getAgentUrl() to respect environment
|
|
16
25
|
const maxPayment = config.get("defaultMaxPayment");
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
// Validate network (support both V1 and V2 formats during migration)
|
|
27
|
+
const isBaseSepolia = network === "base-sepolia" || network === "eip155:84532";
|
|
28
|
+
if (!isBaseSepolia) {
|
|
29
|
+
throw new Error(`Unsupported network: ${network}. Only base-sepolia (eip155:84532) is currently supported`);
|
|
30
|
+
}
|
|
31
|
+
// Convert network to CAIP-2 format if needed
|
|
32
|
+
const networkCaip2 = network === "base-sepolia" ? "eip155:84532" : network;
|
|
33
|
+
// Create signer using viem
|
|
34
|
+
const signer = privateKeyToAccount(pk);
|
|
35
|
+
if (process.env.DEBUG) {
|
|
36
|
+
console.log(`[HttpcatClient.create] Network: ${network}`);
|
|
37
|
+
console.log(`[HttpcatClient.create] Network CAIP-2: ${networkCaip2}`);
|
|
38
|
+
console.log(`[HttpcatClient.create] Max payment: ${maxPayment} USDC`);
|
|
39
|
+
console.log(`[HttpcatClient.create] Signer address: ${await signer.address}`);
|
|
40
|
+
}
|
|
41
|
+
// Create x402Client and register EVM scheme (V2 pattern)
|
|
42
|
+
// According to @x402/fetch README: https://github.com/coinbase/x402/blob/main/typescript/packages/http/fetch/README.md
|
|
43
|
+
// We should use ExactEvmScheme directly and register it with the client
|
|
44
|
+
const evmScheme = new ExactEvmScheme(signer);
|
|
45
|
+
const client = new x402Client();
|
|
46
|
+
// TypeScript type definitions may be incomplete, but the runtime API supports register()
|
|
47
|
+
client.register(networkCaip2, evmScheme);
|
|
48
|
+
if (process.env.DEBUG) {
|
|
49
|
+
console.log(`[HttpcatClient.create] x402Client created and EVM scheme registered for network: ${networkCaip2}`);
|
|
20
50
|
}
|
|
21
|
-
const signer = await createSigner(network, pk);
|
|
22
51
|
// Wrap fetch with payment handling
|
|
23
|
-
|
|
24
|
-
const fetchWithPayment = wrapFetchWithPayment(fetch,
|
|
25
|
-
|
|
52
|
+
// According to README, wrapFetchWithPayment only takes 2 parameters: (fetch, client)
|
|
53
|
+
const fetchWithPayment = wrapFetchWithPayment(fetch, client);
|
|
54
|
+
if (process.env.DEBUG) {
|
|
55
|
+
console.log(`[HttpcatClient.create] fetch wrapped with payment handling`);
|
|
56
|
+
}
|
|
57
|
+
return new HttpcatClient(fetchWithPayment, agentUrl, network, signer, networkCaip2);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Handle 402 Payment Required response and retry with payment signature
|
|
61
|
+
* This is a fallback implementation when wrapFetchWithPayment doesn't work
|
|
62
|
+
*/
|
|
63
|
+
async handle402AndRetry(response, url, originalOptions) {
|
|
64
|
+
if (process.env.DEBUG) {
|
|
65
|
+
console.log(`[HttpcatClient.handle402AndRetry] Received 402 Payment Required - processing payment...`);
|
|
66
|
+
}
|
|
67
|
+
// Parse payment requirements from 402 response
|
|
68
|
+
const responseText = await response.text();
|
|
69
|
+
let paymentInfo;
|
|
70
|
+
try {
|
|
71
|
+
paymentInfo = JSON.parse(responseText);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
throw new Error(`Failed to parse 402 response: ${e instanceof Error ? e.message : "Unknown error"}`);
|
|
75
|
+
}
|
|
76
|
+
if (!paymentInfo.accepts || !paymentInfo.accepts[0]) {
|
|
77
|
+
throw new Error("No payment requirements in 402 response");
|
|
78
|
+
}
|
|
79
|
+
const requirement = paymentInfo.accepts[0];
|
|
80
|
+
// Extract payment details from requirement
|
|
81
|
+
const network = requirement.network; // Already in CAIP-2 format from V2 server
|
|
82
|
+
const maxAmount = requirement.maxAmountRequired; // Hex string
|
|
83
|
+
const payTo = requirement.payTo; // Platform address
|
|
84
|
+
const asset = requirement.asset; // USDC address
|
|
85
|
+
const resource = requirement.resource; // Full resource URL
|
|
86
|
+
if (process.env.DEBUG) {
|
|
87
|
+
console.log(`[HttpcatClient.handle402AndRetry] Payment requirements:`, {
|
|
88
|
+
network,
|
|
89
|
+
maxAmount,
|
|
90
|
+
payTo,
|
|
91
|
+
asset,
|
|
92
|
+
resource,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
// Create payment signature
|
|
96
|
+
const paymentHeader = await this.createPaymentSignature({
|
|
97
|
+
network,
|
|
98
|
+
maxAmount,
|
|
99
|
+
payTo,
|
|
100
|
+
asset,
|
|
101
|
+
resource,
|
|
102
|
+
});
|
|
103
|
+
if (process.env.DEBUG) {
|
|
104
|
+
console.log(`[HttpcatClient.handle402AndRetry] Payment signature created, retrying request...`);
|
|
105
|
+
}
|
|
106
|
+
// Retry request with payment header
|
|
107
|
+
// Use raw fetch (not fetchWithPayment) to avoid any caching or reuse of payment state
|
|
108
|
+
// Each request needs a fresh payment authorization
|
|
109
|
+
const retryOptions = {
|
|
110
|
+
...originalOptions,
|
|
111
|
+
headers: {
|
|
112
|
+
...originalOptions.headers,
|
|
113
|
+
"PAYMENT-SIGNATURE": paymentHeader,
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
if (process.env.DEBUG) {
|
|
117
|
+
console.log(`[HttpcatClient.handle402AndRetry] Retrying with PAYMENT-SIGNATURE header`);
|
|
118
|
+
}
|
|
119
|
+
// Use raw fetch for retry to ensure we don't reuse any cached payment state
|
|
120
|
+
// Add a small delay before retrying to give the facilitator time to process
|
|
121
|
+
// any previous settlements and avoid invalid_transaction_state errors
|
|
122
|
+
await new Promise((resolve) => setTimeout(resolve, 500)); // 500ms delay
|
|
123
|
+
const retryResponse = await fetch(url, retryOptions);
|
|
124
|
+
if (process.env.DEBUG) {
|
|
125
|
+
console.log(`[HttpcatClient.handle402AndRetry] Retry response status: ${retryResponse.status}`);
|
|
126
|
+
}
|
|
127
|
+
// If still 402 or any other error, throw HttpcatError so retry logic can catch it
|
|
128
|
+
if (!retryResponse.ok) {
|
|
129
|
+
const errorBody = (await retryResponse.json().catch(() => ({})));
|
|
130
|
+
if (process.env.DEBUG) {
|
|
131
|
+
console.log(`[HttpcatClient.handle402AndRetry] Payment retry failed:`, JSON.stringify(errorBody, null, 2));
|
|
132
|
+
}
|
|
133
|
+
// Properly serialize error message
|
|
134
|
+
let errorMessage = "Payment failed";
|
|
135
|
+
if (errorBody?.error) {
|
|
136
|
+
if (typeof errorBody.error === "string") {
|
|
137
|
+
errorMessage = `Payment failed: ${errorBody.error}`;
|
|
138
|
+
}
|
|
139
|
+
else if (errorBody.error?.message) {
|
|
140
|
+
errorMessage = `Payment failed: ${errorBody.error.message}`;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
errorMessage = `Payment failed: ${JSON.stringify(errorBody.error)}`;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
else if (errorBody?.message) {
|
|
147
|
+
errorMessage = `Payment failed: ${errorBody.message}`;
|
|
148
|
+
}
|
|
149
|
+
// Throw as HttpcatError with response status so retry logic can catch it
|
|
150
|
+
// If it's a 402, the retry logic will retry with a fresh authorization
|
|
151
|
+
throw new HttpcatError(errorMessage, retryResponse.status, errorBody);
|
|
152
|
+
}
|
|
153
|
+
if (process.env.DEBUG) {
|
|
154
|
+
console.log(`[HttpcatClient.handle402AndRetry] Payment successful, request completed`);
|
|
155
|
+
}
|
|
156
|
+
return retryResponse;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Create payment signature for x402 V2 protocol
|
|
160
|
+
*/
|
|
161
|
+
async createPaymentSignature(paymentInfo) {
|
|
162
|
+
// Network is already in CAIP-2 format from server
|
|
163
|
+
const networkCaip2 = paymentInfo.network;
|
|
164
|
+
// Determine chain ID and USDC address from network
|
|
165
|
+
let chainId;
|
|
166
|
+
const usdcAddress = getUSDCAddress(networkCaip2);
|
|
167
|
+
if (networkCaip2 === "eip155:84532") {
|
|
168
|
+
chainId = 84532;
|
|
169
|
+
}
|
|
170
|
+
else if (networkCaip2 === "eip155:8453") {
|
|
171
|
+
chainId = 8453;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
throw new Error(`Unsupported network: ${networkCaip2}`);
|
|
175
|
+
}
|
|
176
|
+
// Create EIP-3009 authorization
|
|
177
|
+
const validAfter = Math.floor(Date.now() / 1000);
|
|
178
|
+
const validBefore = validAfter + 300; // 5 minutes
|
|
179
|
+
// Create random 32-byte nonce as hex string (bytes32 for EIP-712)
|
|
180
|
+
// randomBytes(32) gives 32 bytes, which is 64 hex characters
|
|
181
|
+
// IMPORTANT: Each payment authorization MUST have a unique nonce
|
|
182
|
+
// EIP-3009 authorizations are single-use - reusing a nonce will cause invalid_transaction_state
|
|
183
|
+
const nonceBytes = randomBytes(32);
|
|
184
|
+
const nonceHex = nonceBytes.toString("hex");
|
|
185
|
+
// Ensure exactly 64 hex characters (32 bytes)
|
|
186
|
+
const nonce = `0x${nonceHex.padStart(64, "0")}`;
|
|
187
|
+
if (process.env.DEBUG) {
|
|
188
|
+
console.log(`[HttpcatClient.createPaymentSignature] Generated fresh nonce: ${nonce}`);
|
|
189
|
+
}
|
|
190
|
+
const fromAddress = await this.signer.address;
|
|
191
|
+
// Keep values as strings/hex strings as received from server
|
|
192
|
+
// paymentInfo.maxAmount is already a hex string like "0xc544"
|
|
193
|
+
// For EIP-712 signing, viem accepts BigInt for uint256 types
|
|
194
|
+
const authorization = {
|
|
195
|
+
from: fromAddress,
|
|
196
|
+
to: paymentInfo.payTo,
|
|
197
|
+
value: paymentInfo.maxAmount, // Keep as hex string
|
|
198
|
+
validAfter: validAfter.toString(),
|
|
199
|
+
validBefore: validBefore.toString(),
|
|
200
|
+
nonce: nonce,
|
|
201
|
+
};
|
|
202
|
+
// Sign the authorization using EIP-712
|
|
203
|
+
const domain = {
|
|
204
|
+
name: "USDC",
|
|
205
|
+
version: "2",
|
|
206
|
+
chainId: chainId,
|
|
207
|
+
verifyingContract: usdcAddress,
|
|
208
|
+
};
|
|
209
|
+
const types = {
|
|
210
|
+
TransferWithAuthorization: [
|
|
211
|
+
{ name: "from", type: "address" },
|
|
212
|
+
{ name: "to", type: "address" },
|
|
213
|
+
{ name: "value", type: "uint256" },
|
|
214
|
+
{ name: "validAfter", type: "uint256" },
|
|
215
|
+
{ name: "validBefore", type: "uint256" },
|
|
216
|
+
{ name: "nonce", type: "bytes32" },
|
|
217
|
+
],
|
|
218
|
+
};
|
|
219
|
+
if (process.env.DEBUG) {
|
|
220
|
+
console.log(`[HttpcatClient.createPaymentSignature] Signing with:`, {
|
|
221
|
+
domain,
|
|
222
|
+
message: authorization,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
// For viem signTypedData, uint256 values need to be BigInt
|
|
226
|
+
// Convert hex strings to BigInt for signing
|
|
227
|
+
const signature = await this.signer.signTypedData({
|
|
228
|
+
domain,
|
|
229
|
+
types,
|
|
230
|
+
primaryType: "TransferWithAuthorization",
|
|
231
|
+
message: {
|
|
232
|
+
from: authorization.from,
|
|
233
|
+
to: authorization.to,
|
|
234
|
+
value: BigInt(authorization.value), // Convert hex string to BigInt for signing
|
|
235
|
+
validAfter: BigInt(authorization.validAfter),
|
|
236
|
+
validBefore: BigInt(authorization.validBefore),
|
|
237
|
+
nonce: authorization.nonce,
|
|
238
|
+
},
|
|
239
|
+
});
|
|
240
|
+
// Build x402 V2 payment header
|
|
241
|
+
// Keep original string values in the payload (not converted)
|
|
242
|
+
const paymentPayload = {
|
|
243
|
+
x402Version: 2, // V2 version
|
|
244
|
+
scheme: "exact",
|
|
245
|
+
network: networkCaip2, // CAIP-2 format
|
|
246
|
+
payload: {
|
|
247
|
+
signature: signature,
|
|
248
|
+
authorization: {
|
|
249
|
+
from: authorization.from,
|
|
250
|
+
to: authorization.to,
|
|
251
|
+
value: authorization.value, // Keep as original hex string
|
|
252
|
+
validAfter: authorization.validAfter, // Keep as string
|
|
253
|
+
validBefore: authorization.validBefore, // Keep as string
|
|
254
|
+
nonce: authorization.nonce, // Already a hex string
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
};
|
|
258
|
+
return Buffer.from(JSON.stringify(paymentPayload)).toString("base64");
|
|
26
259
|
}
|
|
27
260
|
async invoke(entrypoint, input) {
|
|
28
261
|
const endpoint = `${this.agentUrl}/entrypoints/${entrypoint}/invoke`;
|
|
@@ -31,7 +264,7 @@ export class HttpcatClient {
|
|
|
31
264
|
console.log(`[HttpcatClient.invoke] Entrypoint: ${entrypoint}`);
|
|
32
265
|
console.log(`[HttpcatClient.invoke] Input object:`, JSON.stringify(input, null, 2));
|
|
33
266
|
console.log(`[HttpcatClient.invoke] Input type:`, typeof input);
|
|
34
|
-
if (input && typeof input ===
|
|
267
|
+
if (input && typeof input === "object") {
|
|
35
268
|
console.log(`[HttpcatClient.invoke] Input keys:`, Object.keys(input));
|
|
36
269
|
console.log(`[HttpcatClient.invoke] Input.tokenId:`, input.tokenId);
|
|
37
270
|
}
|
|
@@ -40,29 +273,87 @@ export class HttpcatClient {
|
|
|
40
273
|
try {
|
|
41
274
|
const requestBody = { input };
|
|
42
275
|
const requestBodyString = JSON.stringify(requestBody);
|
|
43
|
-
|
|
44
|
-
console.log(`[HttpcatClient.invoke] Request body:`, requestBodyString);
|
|
45
|
-
}
|
|
46
|
-
response = await this.fetchWithPayment(endpoint, {
|
|
276
|
+
const requestOptions = {
|
|
47
277
|
method: "POST",
|
|
48
278
|
headers: {
|
|
49
279
|
"Content-Type": "application/json",
|
|
50
280
|
},
|
|
51
281
|
body: requestBodyString,
|
|
52
|
-
}
|
|
282
|
+
};
|
|
283
|
+
if (process.env.DEBUG) {
|
|
284
|
+
console.log(`[HttpcatClient.invoke] Request URL:`, endpoint);
|
|
285
|
+
console.log(`[HttpcatClient.invoke] Request method:`, requestOptions.method);
|
|
286
|
+
console.log(`[HttpcatClient.invoke] Request headers:`, JSON.stringify(requestOptions.headers, null, 2));
|
|
287
|
+
console.log(`[HttpcatClient.invoke] Request body:`, requestBodyString);
|
|
288
|
+
}
|
|
289
|
+
// Make the initial request - use raw fetch first to detect 402s
|
|
290
|
+
// This ensures we always get a fresh 402 response and can handle it manually
|
|
291
|
+
// with a guaranteed fresh nonce, avoiding any caching issues with wrapFetchWithPayment
|
|
292
|
+
if (process.env.DEBUG) {
|
|
293
|
+
console.log(`[HttpcatClient.invoke] Making initial request to detect 402...`);
|
|
294
|
+
}
|
|
295
|
+
// Make initial request with raw fetch to detect 402
|
|
296
|
+
let initialResponse = await fetch(endpoint, requestOptions);
|
|
297
|
+
// If we get a 402, handle it manually with a fresh authorization
|
|
298
|
+
if (initialResponse.status === 402) {
|
|
299
|
+
if (process.env.DEBUG) {
|
|
300
|
+
console.log(`[HttpcatClient.invoke] 402 detected - handling manually with fresh authorization`);
|
|
301
|
+
}
|
|
302
|
+
response = await this.handle402AndRetry(initialResponse, endpoint, requestOptions);
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
// Not a 402, use the response as-is
|
|
306
|
+
response = initialResponse;
|
|
307
|
+
}
|
|
308
|
+
if (process.env.DEBUG) {
|
|
309
|
+
console.log(`[HttpcatClient.invoke] Response received - status:`, response.status);
|
|
310
|
+
console.log(`[HttpcatClient.invoke] Response headers:`, Object.fromEntries(response.headers.entries()));
|
|
311
|
+
// Check for payment-related headers
|
|
312
|
+
const paymentSig = response.headers.get("PAYMENT-SIGNATURE");
|
|
313
|
+
const paymentResp = response.headers.get("PAYMENT-RESPONSE");
|
|
314
|
+
if (paymentSig) {
|
|
315
|
+
console.log(`[HttpcatClient.invoke] PAYMENT-SIGNATURE header present in response`);
|
|
316
|
+
}
|
|
317
|
+
if (paymentResp) {
|
|
318
|
+
console.log(`[HttpcatClient.invoke] PAYMENT-RESPONSE header:`, paymentResp);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
// If we got a 402 and wrapFetchWithPayment didn't handle it, handle it manually
|
|
322
|
+
if (response.status === 402) {
|
|
323
|
+
if (process.env.DEBUG) {
|
|
324
|
+
console.log(`[HttpcatClient.invoke] ⚠️ 402 response received - wrapFetchWithPayment didn't handle it, using manual fallback`);
|
|
325
|
+
}
|
|
326
|
+
// Clone the response before consuming it
|
|
327
|
+
const clonedResponse = response.clone();
|
|
328
|
+
response = await this.handle402AndRetry(clonedResponse, endpoint, requestOptions);
|
|
329
|
+
}
|
|
53
330
|
}
|
|
54
331
|
catch (error) {
|
|
55
332
|
// Handle network errors (fetch failed, connection refused, DNS errors, etc.)
|
|
56
333
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
57
334
|
const errorStack = error instanceof Error ? error.stack : undefined;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
errorMessage.includes(
|
|
63
|
-
errorMessage.includes(
|
|
64
|
-
|
|
65
|
-
|
|
335
|
+
// Check if this is a payment parsing error from @x402/fetch
|
|
336
|
+
// This happens when the library can't parse the 402 response format
|
|
337
|
+
// We should treat this as a 402 error so retry logic can handle it
|
|
338
|
+
if (errorMessage.includes("Failed to parse payment requirements") ||
|
|
339
|
+
errorMessage.includes("Invalid payment required response") ||
|
|
340
|
+
errorMessage.includes("payment required")) {
|
|
341
|
+
throw new HttpcatError(`Payment required: ${errorMessage}`, 402, {
|
|
342
|
+
endpoint,
|
|
343
|
+
method: "POST",
|
|
344
|
+
originalError: errorMessage,
|
|
345
|
+
agentUrl: this.agentUrl,
|
|
346
|
+
suggestion: "The server requires payment. The x402 library will automatically handle payment on retry.",
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
const isNetworkError = errorMessage.includes("fetch failed") ||
|
|
350
|
+
errorMessage.includes("ECONNREFUSED") ||
|
|
351
|
+
errorMessage.includes("ENOTFOUND") ||
|
|
352
|
+
errorMessage.includes("ETIMEDOUT") ||
|
|
353
|
+
errorMessage.includes("network") ||
|
|
354
|
+
errorMessage.includes("connection") ||
|
|
355
|
+
errorMessage.includes("getaddrinfo") ||
|
|
356
|
+
errorMessage.includes("socket hang up");
|
|
66
357
|
// Log full error details for debugging
|
|
67
358
|
const errorDetails = {
|
|
68
359
|
endpoint,
|
|
@@ -74,30 +365,66 @@ export class HttpcatClient {
|
|
|
74
365
|
errorDetails.stack = errorStack;
|
|
75
366
|
}
|
|
76
367
|
// Check if it's a known error type
|
|
77
|
-
if (error instanceof TypeError && errorMessage.includes(
|
|
78
|
-
errorDetails.errorType =
|
|
79
|
-
errorDetails.suggestion =
|
|
368
|
+
if (error instanceof TypeError && errorMessage.includes("fetch")) {
|
|
369
|
+
errorDetails.errorType = "TypeError";
|
|
370
|
+
errorDetails.suggestion =
|
|
371
|
+
"This might be a Node.js fetch compatibility issue. Try updating Node.js or check @x402/fetch configuration.";
|
|
80
372
|
}
|
|
81
373
|
else if (isNetworkError) {
|
|
82
|
-
errorDetails.suggestion =
|
|
374
|
+
errorDetails.suggestion =
|
|
375
|
+
"Check if the agent is running and the URL is correct. Try: httpcat health";
|
|
83
376
|
}
|
|
84
377
|
else {
|
|
85
|
-
errorDetails.suggestion =
|
|
378
|
+
errorDetails.suggestion =
|
|
379
|
+
"Check the error details above for more information.";
|
|
86
380
|
}
|
|
87
|
-
if (isNetworkError ||
|
|
381
|
+
if (isNetworkError ||
|
|
382
|
+
(error instanceof TypeError && errorMessage.includes("fetch"))) {
|
|
88
383
|
throw new HttpcatError(`Network error: Unable to connect to agent at ${this.agentUrl}. Error: ${errorMessage}`, 0, // 0 indicates network error (not HTTP status)
|
|
89
384
|
errorDetails);
|
|
90
385
|
}
|
|
91
386
|
// Re-throw other errors as-is
|
|
92
387
|
throw error;
|
|
93
388
|
}
|
|
94
|
-
// Extract payment info from headers
|
|
95
|
-
const paymentHeader = response.headers.get("
|
|
389
|
+
// Extract payment info from headers (V2 uses PAYMENT-RESPONSE header)
|
|
390
|
+
const paymentHeader = response.headers.get("PAYMENT-RESPONSE") ||
|
|
391
|
+
response.headers.get("x-payment-response");
|
|
96
392
|
const payment = paymentHeader
|
|
97
393
|
? { txHash: paymentHeader }
|
|
98
394
|
: undefined;
|
|
99
395
|
// Parse response
|
|
100
396
|
const responseText = await response.text();
|
|
397
|
+
if (process.env.DEBUG) {
|
|
398
|
+
console.log(`[HttpcatClient.invoke] Response body (first 500 chars):`, responseText.substring(0, 500));
|
|
399
|
+
if (response.status === 402) {
|
|
400
|
+
console.log(`[HttpcatClient.invoke] 402 Payment Required response detected`);
|
|
401
|
+
try {
|
|
402
|
+
const parsed = JSON.parse(responseText);
|
|
403
|
+
console.log(`[HttpcatClient.invoke] 402 response body:`, JSON.stringify(parsed, null, 2));
|
|
404
|
+
}
|
|
405
|
+
catch (e) {
|
|
406
|
+
console.log(`[HttpcatClient.invoke] 402 response is not JSON`);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
// Special handling for 402 responses: Check if body contains successful output
|
|
411
|
+
// This handles a framework bug where 402 is returned even after successful processing
|
|
412
|
+
if (!response.ok && response.status === 402) {
|
|
413
|
+
try {
|
|
414
|
+
const parsed = JSON.parse(responseText);
|
|
415
|
+
// If response has output field, treat as success despite 402 status
|
|
416
|
+
if (parsed.output && typeof parsed.output === "object") {
|
|
417
|
+
console.warn(`[HttpcatClient] Received 402 status but response contains successful output. This is a known framework issue.`);
|
|
418
|
+
return {
|
|
419
|
+
data: parsed.output,
|
|
420
|
+
payment,
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
catch {
|
|
425
|
+
// Not JSON or no output - will fall through to error handling below
|
|
426
|
+
}
|
|
427
|
+
}
|
|
101
428
|
// Check if response is OK first
|
|
102
429
|
if (!response.ok) {
|
|
103
430
|
// Try to parse as JSON for structured error, otherwise use plain text
|
|
@@ -107,24 +434,26 @@ export class HttpcatClient {
|
|
|
107
434
|
errorDetails = JSON.parse(responseText);
|
|
108
435
|
// Extract message from nested error structures
|
|
109
436
|
// Handle various error formats
|
|
110
|
-
if (typeof errorDetails ===
|
|
437
|
+
if (typeof errorDetails === "string") {
|
|
111
438
|
errorMessage = errorDetails;
|
|
112
439
|
}
|
|
113
440
|
else if (errorDetails.error) {
|
|
114
|
-
if (typeof errorDetails.error ===
|
|
441
|
+
if (typeof errorDetails.error === "string") {
|
|
115
442
|
errorMessage = errorDetails.error;
|
|
116
443
|
}
|
|
117
444
|
else if (errorDetails.error.message) {
|
|
118
445
|
errorMessage = errorDetails.error.message;
|
|
119
446
|
}
|
|
120
|
-
else if (typeof errorDetails.error ===
|
|
447
|
+
else if (typeof errorDetails.error === "object") {
|
|
121
448
|
// Try to stringify the error object
|
|
122
449
|
const errorStr = JSON.stringify(errorDetails.error);
|
|
123
|
-
if (errorStr !==
|
|
450
|
+
if (errorStr !== "{}") {
|
|
124
451
|
errorMessage = errorStr;
|
|
125
452
|
}
|
|
126
453
|
else {
|
|
127
|
-
errorMessage =
|
|
454
|
+
errorMessage =
|
|
455
|
+
errorDetails.message ||
|
|
456
|
+
`Request failed with status ${response.status}`;
|
|
128
457
|
}
|
|
129
458
|
}
|
|
130
459
|
else {
|
|
@@ -140,13 +469,31 @@ export class HttpcatClient {
|
|
|
140
469
|
else {
|
|
141
470
|
// Last resort: try to stringify the whole object
|
|
142
471
|
const errorStr = JSON.stringify(errorDetails);
|
|
143
|
-
if (errorStr !==
|
|
472
|
+
if (errorStr !== "{}" && errorStr.length < 500) {
|
|
144
473
|
errorMessage = errorStr;
|
|
145
474
|
}
|
|
146
475
|
else {
|
|
147
476
|
errorMessage = `Request failed with status ${response.status}`;
|
|
148
477
|
}
|
|
149
478
|
}
|
|
479
|
+
// Check for payment header errors (support both V1 and V2)
|
|
480
|
+
// V2 uses PAYMENT-SIGNATURE, V1 uses X-PAYMENT
|
|
481
|
+
if (errorMessage.includes("PAYMENT-SIGNATURE header is required") ||
|
|
482
|
+
errorMessage.includes("X-PAYMENT header is required") ||
|
|
483
|
+
errorMessage.includes("Missing payment authorization") ||
|
|
484
|
+
errorMessage.includes("payment authorization")) {
|
|
485
|
+
// This is a 402 error - wrapFetchWithPayment should handle it automatically
|
|
486
|
+
// but if it doesn't, we'll treat it as a 402
|
|
487
|
+
if (response.status !== 402) {
|
|
488
|
+
// Force 402 status for payment-related errors
|
|
489
|
+
throw new HttpcatError(errorMessage, 402, {
|
|
490
|
+
...errorDetails,
|
|
491
|
+
endpoint,
|
|
492
|
+
method: "POST",
|
|
493
|
+
suggestion: "Payment required. The x402 library should handle this automatically.",
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
}
|
|
150
497
|
// For 500 errors, try to extract more context
|
|
151
498
|
if (response.status >= 500 && errorDetails.error) {
|
|
152
499
|
// If error is an object, try to stringify it for more info
|
|
@@ -187,26 +534,36 @@ export class HttpcatClient {
|
|
|
187
534
|
const url = path.startsWith("http") ? path : `${this.agentUrl}${path}`;
|
|
188
535
|
let response;
|
|
189
536
|
try {
|
|
190
|
-
|
|
537
|
+
const requestOptions = {
|
|
191
538
|
method: "GET",
|
|
192
|
-
}
|
|
539
|
+
};
|
|
540
|
+
if (process.env.DEBUG) {
|
|
541
|
+
console.log(`[HttpcatClient.get] Request URL:`, url);
|
|
542
|
+
console.log(`[HttpcatClient.get] Request method:`, requestOptions.method);
|
|
543
|
+
console.log(`[HttpcatClient.get] Request headers:`, JSON.stringify(requestOptions.headers || {}, null, 2));
|
|
544
|
+
}
|
|
545
|
+
response = await this.fetchWithPayment(url, requestOptions);
|
|
546
|
+
if (process.env.DEBUG) {
|
|
547
|
+
console.log(`[HttpcatClient.get] Response status:`, response.status);
|
|
548
|
+
console.log(`[HttpcatClient.get] Response headers:`, Object.fromEntries(response.headers.entries()));
|
|
549
|
+
}
|
|
193
550
|
}
|
|
194
551
|
catch (error) {
|
|
195
552
|
// Handle network errors
|
|
196
553
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
197
|
-
const isNetworkError = errorMessage.includes(
|
|
198
|
-
errorMessage.includes(
|
|
199
|
-
errorMessage.includes(
|
|
200
|
-
errorMessage.includes(
|
|
201
|
-
errorMessage.includes(
|
|
202
|
-
errorMessage.includes(
|
|
554
|
+
const isNetworkError = errorMessage.includes("fetch failed") ||
|
|
555
|
+
errorMessage.includes("ECONNREFUSED") ||
|
|
556
|
+
errorMessage.includes("ENOTFOUND") ||
|
|
557
|
+
errorMessage.includes("ETIMEDOUT") ||
|
|
558
|
+
errorMessage.includes("network") ||
|
|
559
|
+
errorMessage.includes("connection");
|
|
203
560
|
if (isNetworkError) {
|
|
204
561
|
throw new HttpcatError(`Network error: Unable to connect to agent at ${this.agentUrl}`, 0, // 0 indicates network error (not HTTP status)
|
|
205
562
|
{
|
|
206
563
|
url,
|
|
207
564
|
method: "GET",
|
|
208
565
|
originalError: errorMessage,
|
|
209
|
-
suggestion: "Check if the agent is running and the URL is correct. Try: httpcat health"
|
|
566
|
+
suggestion: "Check if the agent is running and the URL is correct. Try: httpcat health",
|
|
210
567
|
});
|
|
211
568
|
}
|
|
212
569
|
// Re-throw other errors as-is
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAWtD,MAAM,OAAO,aAAa;IAChB,gBAAgB,CAAe;IAC/B,QAAQ,CAAS;IACjB,OAAO,CAAS;IAChB,MAAM,CAAyC;IAC/C,YAAY,CAAS;IAE7B,YACE,gBAA8B,EAC9B,QAAgB,EAChB,OAAe,EACf,MAA8C,EAC9C,YAAoB;QAEpB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAgB;QAClC,MAAM,EAAE,GAAG,UAAU,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,2CAA2C;QAClF,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEnD,qEAAqE;QACrE,MAAM,aAAa,GACjB,OAAO,KAAK,cAAc,IAAI,OAAO,KAAK,cAAc,CAAC;QAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,2DAA2D,CAC3F,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,YAAY,GAAG,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC;QAE3E,2BAA2B;QAC3B,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAEvC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,mCAAmC,OAAO,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,0CAA0C,YAAY,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,uCAAuC,UAAU,OAAO,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CACT,0CAA0C,MAAM,MAAM,CAAC,OAAO,EAAE,CACjE,CAAC;QACJ,CAAC;QAED,yDAAyD;QACzD,uHAAuH;QACvH,wEAAwE;QACxE,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,yFAAyF;QACxF,MAAc,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAElD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,oFAAoF,YAAY,EAAE,CACnG,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,qFAAqF;QACrF,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE7D,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,IAAI,aAAa,CACtB,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,YAAY,CACb,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAC7B,QAAkB,EAClB,GAAW,EACX,eAA4B;QAE5B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,WAAgB,CAAC;QACrB,IAAI,CAAC;YACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,iCACE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eACnC,EAAE,CACH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE3C,2CAA2C;QAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,0CAA0C;QAC/E,MAAM,SAAS,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC,aAAa;QAC9D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,mBAAmB;QACpD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,eAAe;QAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,oBAAoB;QAE3D,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,yDAAyD,EAAE;gBACrE,OAAO;gBACP,SAAS;gBACT,KAAK;gBACL,KAAK;gBACL,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,2BAA2B;QAC3B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC;YACtD,OAAO;YACP,SAAS;YACT,KAAK;YACL,KAAK;YACL,QAAQ;SACT,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,kFAAkF,CACnF,CAAC;QACJ,CAAC;QAED,oCAAoC;QACpC,sFAAsF;QACtF,mDAAmD;QACnD,MAAM,YAAY,GAAgB;YAChC,GAAG,eAAe;YAClB,OAAO,EAAE;gBACP,GAAI,eAAe,CAAC,OAAkC;gBACtD,mBAAmB,EAAE,aAAa;aACnC;SACF,CAAC;QAEF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,4EAA4E;QAC5E,sEAAsE;QACtE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc;QAExE,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,4DAA4D,aAAa,CAAC,MAAM,EAAE,CACnF,CAAC;QACJ,CAAC;QAED,kFAAkF;QAClF,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAQ,CAAC;YAExE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CACT,yDAAyD,EACzD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CACnC,CAAC;YACJ,CAAC;YAED,mCAAmC;YACnC,IAAI,YAAY,GAAG,gBAAgB,CAAC;YACpC,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;gBACrB,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACxC,YAAY,GAAG,mBAAmB,SAAS,CAAC,KAAK,EAAE,CAAC;gBACtD,CAAC;qBAAM,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;oBACpC,YAAY,GAAG,mBAAmB,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,mBAAmB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtE,CAAC;YACH,CAAC;iBAAM,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;gBAC9B,YAAY,GAAG,mBAAmB,SAAS,CAAC,OAAO,EAAE,CAAC;YACxD,CAAC;YAED,yEAAyE;YACzE,uEAAuE;YACvE,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,WAMpC;QACC,kDAAkD;QAClD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC;QAEzC,mDAAmD;QACnD,IAAI,OAAe,CAAC;QACpB,MAAM,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAI,YAAY,KAAK,cAAc,EAAE,CAAC;YACpC,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;aAAM,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;YAC1C,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,gCAAgC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC,YAAY;QAClD,kEAAkE;QAClE,6DAA6D;QAC7D,iEAAiE;QACjE,gGAAgG;QAChG,MAAM,UAAU,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,8CAA8C;QAC9C,MAAM,KAAK,GAAG,KAAK,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAmB,CAAC;QAEjE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,iEAAiE,KAAK,EAAE,CACzE,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAE9C,6DAA6D;QAC7D,8DAA8D;QAC9D,6DAA6D;QAC7D,MAAM,aAAa,GAAG;YACpB,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,WAAW,CAAC,KAAsB;YACtC,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE,qBAAqB;YACnD,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;YACjC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnC,KAAK,EAAE,KAAK;SACb,CAAC;QAEF,uCAAuC;QACvC,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,OAAO;YAChB,iBAAiB,EAAE,WAAW;SAC/B,CAAC;QAEF,MAAM,KAAK,GAAG;YACZ,yBAAyB,EAAE;gBACzB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;gBACjC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;gBAClC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;gBACvC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;aACnC;SACF,CAAC;QAEF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,sDAAsD,EAAE;gBAClE,MAAM;gBACN,OAAO,EAAE,aAAa;aACvB,CAAC,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,4CAA4C;QAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAChD,MAAM;YACN,KAAK;YACL,WAAW,EAAE,2BAA2B;YACxC,OAAO,EAAE;gBACP,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,EAAE,EAAE,aAAa,CAAC,EAAE;gBACpB,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,2CAA2C;gBAC/E,UAAU,EAAE,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;gBAC5C,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;gBAC9C,KAAK,EAAE,aAAa,CAAC,KAAK;aAC3B;SACF,CAAC,CAAC;QAEH,+BAA+B;QAC/B,6DAA6D;QAC7D,MAAM,cAAc,GAAG;YACrB,WAAW,EAAE,CAAC,EAAE,aAAa;YAC7B,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,YAAY,EAAE,gBAAgB;YACvC,OAAO,EAAE;gBACP,SAAS,EAAE,SAAS;gBACpB,aAAa,EAAE;oBACb,IAAI,EAAE,aAAa,CAAC,IAAI;oBACxB,EAAE,EAAE,aAAa,CAAC,EAAE;oBACpB,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,8BAA8B;oBAC1D,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,iBAAiB;oBACvD,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE,iBAAiB;oBACzD,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,uBAAuB;iBACpD;aACF;SACF,CAAC;QAEF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,KAAa;QAEb,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,gBAAgB,UAAU,SAAS,CAAC;QAErE,gBAAgB;QAChB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CACT,sCAAsC,EACtC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAC/B,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,OAAO,KAAK,CAAC,CAAC;YAChE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CACT,uCAAuC,EACtC,KAAa,CAAC,OAAO,CACvB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,CAAC;YAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAEtD,MAAM,cAAc,GAAgB;gBAClC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,iBAAiB;aACxB,CAAC;YAEF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CACT,wCAAwC,EACxC,cAAc,CAAC,MAAM,CACtB,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,yCAAyC,EACzC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAChD,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,iBAAiB,CAAC,CAAC;YACzE,CAAC;YAED,gEAAgE;YAChE,6EAA6E;YAC7E,uFAAuF;YACvF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CACT,gEAAgE,CACjE,CAAC;YACJ,CAAC;YAED,oDAAoD;YACpD,IAAI,eAAe,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAE5D,iEAAiE;YACjE,IAAI,eAAe,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CACT,kFAAkF,CACnF,CAAC;gBACJ,CAAC;gBACD,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACrC,eAAe,EACf,QAAQ,EACR,cAAc,CACf,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,QAAQ,GAAG,eAAe,CAAC;YAC7B,CAAC;YAED,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CACT,oDAAoD,EACpD,QAAQ,CAAC,MAAM,CAChB,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,0CAA0C,EAC1C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAC/C,CAAC;gBACF,oCAAoC;gBACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAC7D,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC7D,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CACT,qEAAqE,CACtE,CAAC;gBACJ,CAAC;gBACD,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CACT,iDAAiD,EACjD,WAAW,CACZ,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,gFAAgF;YAChF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CACT,iHAAiH,CAClH,CAAC;gBACJ,CAAC;gBACD,yCAAyC;gBACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACxC,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACrC,cAAc,EACd,QAAQ,EACR,cAAc,CACf,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6EAA6E;YAC7E,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAEpE,4DAA4D;YAC5D,oEAAoE;YACpE,mEAAmE;YACnE,IACE,YAAY,CAAC,QAAQ,CAAC,sCAAsC,CAAC;gBAC7D,YAAY,CAAC,QAAQ,CAAC,mCAAmC,CAAC;gBAC1D,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EACzC,CAAC;gBACD,MAAM,IAAI,YAAY,CAAC,qBAAqB,YAAY,EAAE,EAAE,GAAG,EAAE;oBAC/D,QAAQ;oBACR,MAAM,EAAE,MAAM;oBACd,aAAa,EAAE,YAAY;oBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,UAAU,EACR,2FAA2F;iBAC9F,CAAC,CAAC;YACL,CAAC;YAED,MAAM,cAAc,GAClB,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACrC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACrC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAClC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAClC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAChC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACnC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACpC,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAE1C,uCAAuC;YACvC,MAAM,YAAY,GAAQ;gBACxB,QAAQ;gBACR,MAAM,EAAE,MAAM;gBACd,aAAa,EAAE,YAAY;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;YAEF,IAAI,UAAU,EAAE,CAAC;gBACf,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC;YAClC,CAAC;YAED,mCAAmC;YACnC,IAAI,KAAK,YAAY,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,YAAY,CAAC,SAAS,GAAG,WAAW,CAAC;gBACrC,YAAY,CAAC,UAAU;oBACrB,6GAA6G,CAAC;YAClH,CAAC;iBAAM,IAAI,cAAc,EAAE,CAAC;gBAC1B,YAAY,CAAC,UAAU;oBACrB,2EAA2E,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,UAAU;oBACrB,qDAAqD,CAAC;YAC1D,CAAC;YAED,IACE,cAAc;gBACd,CAAC,KAAK,YAAY,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAC9D,CAAC;gBACD,MAAM,IAAI,YAAY,CACpB,gDAAgD,IAAI,CAAC,QAAQ,YAAY,YAAY,EAAE,EACvF,CAAC,EAAE,8CAA8C;gBACjD,YAAY,CACb,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,sEAAsE;QACtE,MAAM,aAAa,GACjB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;YACxC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC7C,MAAM,OAAO,GAA4B,aAAa;YACpD,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE;YAC3B,CAAC,CAAC,SAAS,CAAC;QAEd,iBAAiB;QACjB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE3C,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CACT,yDAAyD,EACzD,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAC/B,CAAC;YACF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CACT,+DAA+D,CAChE,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACxC,OAAO,CAAC,GAAG,CACT,2CAA2C,EAC3C,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAChC,CAAC;gBACJ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,sFAAsF;QACtF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACxC,oEAAoE;gBACpE,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACvD,OAAO,CAAC,IAAI,CACV,+GAA+G,CAChH,CAAC;oBACF,OAAO;wBACL,IAAI,EAAE,MAAM,CAAC,MAAiB;wBAC9B,OAAO;qBACR,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;YACtE,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,sEAAsE;YACtE,IAAI,YAAiB,CAAC;YACtB,IAAI,YAAoB,CAAC;YAEzB,IAAI,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACxC,+CAA+C;gBAC/C,+BAA+B;gBAC/B,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;oBACrC,YAAY,GAAG,YAAY,CAAC;gBAC9B,CAAC;qBAAM,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;oBAC9B,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC3C,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;oBACpC,CAAC;yBAAM,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBACtC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC5C,CAAC;yBAAM,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAClD,oCAAoC;wBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;4BACtB,YAAY,GAAG,QAAQ,CAAC;wBAC1B,CAAC;6BAAM,CAAC;4BACN,YAAY;gCACV,YAAY,CAAC,OAAO;oCACpB,8BAA8B,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACpD,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;qBAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBAChC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC;gBACtC,CAAC;qBAAM,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACzC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,iDAAiD;oBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;oBAC9C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBAC/C,YAAY,GAAG,QAAQ,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACN,YAAY,GAAG,8BAA8B,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACjE,CAAC;gBACH,CAAC;gBAED,2DAA2D;gBAC3D,+CAA+C;gBAC/C,IACE,YAAY,CAAC,QAAQ,CAAC,sCAAsC,CAAC;oBAC7D,YAAY,CAAC,QAAQ,CAAC,8BAA8B,CAAC;oBACrD,YAAY,CAAC,QAAQ,CAAC,+BAA+B,CAAC;oBACtD,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAC9C,CAAC;oBACD,4EAA4E;oBAC5E,6CAA6C;oBAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;wBAC5B,8CAA8C;wBAC9C,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,GAAG,EAAE;4BACxC,GAAG,YAAY;4BACf,QAAQ;4BACR,MAAM,EAAE,MAAM;4BACd,UAAU,EACR,sEAAsE;yBACzE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,8CAA8C;gBAC9C,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;oBACjD,2DAA2D;oBAC3D,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC7D,IACE,QAAQ,KAAK,IAAI;4BACjB,QAAQ,KAAK,mCAAmC,EAChD,CAAC;4BACD,YAAY,GAAG,YAAY,GAAG,IAAI,GAAG,QAAQ,CAAC;wBAChD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;gBACvD,YAAY;oBACV,YAAY,IAAI,8BAA8B,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAClE,YAAY,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;YACpE,CAAC;YAED,wCAAwC;YACxC,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACjC,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;YAE7B,MAAM,IAAI,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACtE,CAAC;QAED,gCAAgC;QAChC,IAAI,MAAmC,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,YAAY,CACpB,qCAAqC,YAAY,EAAE,EACnD,QAAQ,CAAC,MAAM,EACf,YAAY,CACb,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,OAAO;SACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC;QAEvE,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,cAAc,GAAgB;gBAClC,MAAM,EAAE,KAAK;aACd,CAAC;YAEF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CACT,qCAAqC,EACrC,cAAc,CAAC,MAAM,CACtB,CAAC;gBACF,OAAO,CAAC,GAAG,CACT,sCAAsC,EACtC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CACtD,CAAC;YACJ,CAAC;YAED,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAE5D,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CACT,uCAAuC,EACvC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAC/C,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wBAAwB;YACxB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,cAAc,GAClB,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACrC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;gBACrC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAClC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAClC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAChC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAEtC,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,YAAY,CACpB,gDAAgD,IAAI,CAAC,QAAQ,EAAE,EAC/D,CAAC,EAAE,8CAA8C;gBACjD;oBACE,GAAG;oBACH,MAAM,EAAE,KAAK;oBACb,aAAa,EAAE,YAAY;oBAC3B,UAAU,EACR,2EAA2E;iBAC9E,CACF,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,sEAAsE;YACtE,IAAI,YAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG;oBACb,KAAK,EAAE,IAAI,IAAI,OAAO,IAAI,uBAAuB,QAAQ,CAAC,MAAM,EAAE;iBACnE,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,KAAK;gBAChB,YAAY,CAAC,OAAO;gBACpB,OAAO,IAAI,YAAY,QAAQ,CAAC,MAAM,EAAE,EAC1C,QAAQ,CAAC,MAAM,EACf,YAAY,CACb,CAAC;QACJ,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACD;IAAuB;IAA3D,YAAY,OAAe,EAAS,MAAc,EAAS,OAAa;QACtE,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,WAAM,GAAN,MAAM,CAAQ;QAAS,YAAO,GAAP,OAAO,CAAM;QAEtE,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/commands/account.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/commands/account.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,WAAW,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAGL,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAOhD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,eAAe,CAAC,CA4E1B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqD7E;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAiCnC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAejD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAyGhD"}
|
package/dist/commands/account.js
CHANGED