fibx 0.4.2 → 0.5.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/LICENSE +21 -0
- package/README.md +80 -30
- package/dist/commands/auth/import.d.ts.map +1 -1
- package/dist/commands/auth/import.js +15 -15
- package/dist/commands/auth/import.js.map +1 -1
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +9 -11
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/logout.d.ts.map +1 -1
- package/dist/commands/auth/logout.js +3 -11
- package/dist/commands/auth/logout.js.map +1 -1
- package/dist/commands/auth/verify.d.ts.map +1 -1
- package/dist/commands/auth/verify.js +10 -9
- package/dist/commands/auth/verify.js.map +1 -1
- package/dist/commands/chain/transaction.d.ts.map +1 -1
- package/dist/commands/chain/transaction.js +13 -13
- package/dist/commands/chain/transaction.js.map +1 -1
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +40 -8
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/defi/aave.d.ts +1 -0
- package/dist/commands/defi/aave.d.ts.map +1 -1
- package/dist/commands/defi/aave.js +105 -40
- package/dist/commands/defi/aave.js.map +1 -1
- package/dist/commands/portfolio/index.d.ts +3 -0
- package/dist/commands/portfolio/index.d.ts.map +1 -0
- package/dist/commands/portfolio/index.js +64 -0
- package/dist/commands/portfolio/index.js.map +1 -0
- package/dist/commands/trade/status.d.ts.map +1 -1
- package/dist/commands/trade/status.js +17 -19
- package/dist/commands/trade/status.js.map +1 -1
- package/dist/commands/trade/swap.d.ts +1 -0
- package/dist/commands/trade/swap.d.ts.map +1 -1
- package/dist/commands/trade/swap.js +156 -101
- package/dist/commands/trade/swap.js.map +1 -1
- package/dist/commands/wallet/address.d.ts.map +1 -1
- package/dist/commands/wallet/address.js +7 -9
- package/dist/commands/wallet/address.js.map +1 -1
- package/dist/commands/wallet/balance.d.ts.map +1 -1
- package/dist/commands/wallet/balance.js +42 -22
- package/dist/commands/wallet/balance.js.map +1 -1
- package/dist/commands/wallet/list.d.ts +1 -1
- package/dist/commands/wallet/list.d.ts.map +1 -1
- package/dist/commands/wallet/list.js +7 -16
- package/dist/commands/wallet/list.js.map +1 -1
- package/dist/commands/wallet/send.d.ts +5 -1
- package/dist/commands/wallet/send.d.ts.map +1 -1
- package/dist/commands/wallet/send.js +66 -24
- package/dist/commands/wallet/send.js.map +1 -1
- package/dist/index.js +185 -22
- package/dist/index.js.map +1 -1
- package/dist/lib/brand.d.ts +5 -0
- package/dist/lib/brand.d.ts.map +1 -0
- package/dist/lib/brand.js +15 -0
- package/dist/lib/brand.js.map +1 -0
- package/dist/lib/cli-helpers.d.ts +10 -0
- package/dist/lib/cli-helpers.d.ts.map +1 -0
- package/dist/lib/cli-helpers.js +20 -0
- package/dist/lib/cli-helpers.js.map +1 -0
- package/dist/lib/concurrency.d.ts +8 -0
- package/dist/lib/concurrency.d.ts.map +1 -0
- package/dist/lib/concurrency.js +26 -0
- package/dist/lib/concurrency.js.map +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +1 -2
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/errors.d.ts +1 -0
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +1 -0
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/format.d.ts +26 -3
- package/dist/lib/format.d.ts.map +1 -1
- package/dist/lib/format.js +131 -31
- package/dist/lib/format.js.map +1 -1
- package/dist/lib/parse-evm-error.d.ts +6 -0
- package/dist/lib/parse-evm-error.d.ts.map +1 -0
- package/dist/lib/parse-evm-error.js +48 -0
- package/dist/lib/parse-evm-error.js.map +1 -0
- package/dist/lib/parseAmount.d.ts.map +1 -1
- package/dist/lib/parseAmount.js +0 -1
- package/dist/lib/parseAmount.js.map +1 -1
- package/dist/lib/retry.d.ts +20 -0
- package/dist/lib/retry.d.ts.map +1 -0
- package/dist/lib/retry.js +36 -0
- package/dist/lib/retry.js.map +1 -0
- package/dist/mcp/handlers.d.ts +7 -1
- package/dist/mcp/handlers.d.ts.map +1 -1
- package/dist/mcp/handlers.js +86 -18
- package/dist/mcp/handlers.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +4 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +16 -3
- package/dist/mcp/tools.js.map +1 -1
- package/dist/services/auth/session.d.ts.map +1 -1
- package/dist/services/auth/session.js +22 -1
- package/dist/services/auth/session.js.map +1 -1
- package/dist/services/chain/client.d.ts +9376 -241
- package/dist/services/chain/client.d.ts.map +1 -1
- package/dist/services/chain/client.js +0 -1
- package/dist/services/chain/client.js.map +1 -1
- package/dist/services/chain/constants.d.ts.map +1 -1
- package/dist/services/chain/constants.js +1 -2
- package/dist/services/chain/constants.js.map +1 -1
- package/dist/services/chain/erc20.d.ts +5 -183
- package/dist/services/chain/erc20.d.ts.map +1 -1
- package/dist/services/chain/erc20.js +15 -128
- package/dist/services/chain/erc20.js.map +1 -1
- package/dist/services/chain/nonceManager.d.ts.map +1 -1
- package/dist/services/chain/nonceManager.js +0 -3
- package/dist/services/chain/nonceManager.js.map +1 -1
- package/dist/services/config/config.d.ts +2 -0
- package/dist/services/config/config.d.ts.map +1 -1
- package/dist/services/config/config.js +9 -1
- package/dist/services/config/config.js.map +1 -1
- package/dist/services/defi/aave.d.ts +12 -10
- package/dist/services/defi/aave.d.ts.map +1 -1
- package/dist/services/defi/aave.js +83 -46
- package/dist/services/defi/aave.js.map +1 -1
- package/dist/services/defi/abi/aave.d.ts +99 -0
- package/dist/services/defi/abi/aave.d.ts.map +1 -1
- package/dist/services/defi/abi/aave.js +53 -0
- package/dist/services/defi/abi/aave.js.map +1 -1
- package/dist/services/defi/constants.d.ts +0 -4
- package/dist/services/defi/constants.d.ts.map +1 -1
- package/dist/services/defi/constants.js +1 -6
- package/dist/services/defi/constants.js.map +1 -1
- package/dist/services/fibrous/balances.d.ts.map +1 -1
- package/dist/services/fibrous/balances.js +12 -9
- package/dist/services/fibrous/balances.js.map +1 -1
- package/dist/services/fibrous/route.d.ts.map +1 -1
- package/dist/services/fibrous/route.js +17 -9
- package/dist/services/fibrous/route.js.map +1 -1
- package/dist/services/fibrous/tokens.d.ts +1 -0
- package/dist/services/fibrous/tokens.d.ts.map +1 -1
- package/dist/services/fibrous/tokens.js +7 -4
- package/dist/services/fibrous/tokens.js.map +1 -1
- package/dist/services/portfolio/portfolio.d.ts +28 -0
- package/dist/services/portfolio/portfolio.d.ts.map +1 -0
- package/dist/services/portfolio/portfolio.js +116 -0
- package/dist/services/portfolio/portfolio.js.map +1 -0
- package/dist/services/privy/account.d.ts +16 -14
- package/dist/services/privy/account.d.ts.map +1 -1
- package/dist/services/privy/account.js +6 -16
- package/dist/services/privy/account.js.map +1 -1
- package/package.json +9 -9
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { formatUnits } from "viem";
|
|
1
2
|
import { requireSession } from "../../services/auth/session.js";
|
|
2
3
|
import { getWalletClient, getPublicClient } from "../../services/chain/client.js";
|
|
3
4
|
import { getChainConfig } from "../../services/chain/constants.js";
|
|
@@ -5,8 +6,9 @@ import { ERC20_ABI } from "../../services/chain/erc20.js";
|
|
|
5
6
|
import { resolveToken } from "../../services/fibrous/tokens.js";
|
|
6
7
|
import { validateAddress, validateAmount } from "../../lib/validation.js";
|
|
7
8
|
import { parseAmount } from "../../lib/parseAmount.js";
|
|
8
|
-
import { outputResult,
|
|
9
|
+
import { createSpinner, outputResult, formatError, } from "../../lib/format.js";
|
|
9
10
|
export async function sendCommand(amount, recipient, tokenSymbol, opts) {
|
|
11
|
+
const spinner = createSpinner("Preparing transfer...").start();
|
|
10
12
|
try {
|
|
11
13
|
validateAmount(amount);
|
|
12
14
|
validateAddress(recipient);
|
|
@@ -23,51 +25,91 @@ export async function sendCommand(amount, recipient, tokenSymbol, opts) {
|
|
|
23
25
|
const resolvedSymbol = tokenSymbol || chain.nativeSymbol;
|
|
24
26
|
if (isNative) {
|
|
25
27
|
amountBigInt = parseAmount(amount, 18);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
account: wallet,
|
|
31
|
-
to: recipient,
|
|
32
|
-
value: amountBigInt,
|
|
33
|
-
data: undefined,
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
throw new Error(`Simulation failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
38
|
-
}
|
|
39
|
-
return walletClient.sendTransaction({
|
|
28
|
+
spinner.text = `Sending ${amount} ${resolvedSymbol} on ${chain.name}...`;
|
|
29
|
+
try {
|
|
30
|
+
const gasEstimate = await publicClient.estimateGas({
|
|
31
|
+
account: wallet,
|
|
40
32
|
to: recipient,
|
|
41
33
|
value: amountBigInt,
|
|
42
34
|
data: undefined,
|
|
43
35
|
});
|
|
44
|
-
|
|
36
|
+
if (opts.simulate) {
|
|
37
|
+
const gasPrice = await publicClient.getGasPrice();
|
|
38
|
+
const feeWei = gasEstimate * gasPrice;
|
|
39
|
+
const feeEth = formatUnits(feeWei, 18);
|
|
40
|
+
spinner.succeed("Simulation complete");
|
|
41
|
+
outputResult({
|
|
42
|
+
mode: "SIMULATION (no TX sent)",
|
|
43
|
+
amount: `${amount} ${resolvedSymbol}`,
|
|
44
|
+
recipient,
|
|
45
|
+
estimatedGas: `${feeEth} ${chain.nativeSymbol}`,
|
|
46
|
+
chain: chain.name,
|
|
47
|
+
}, opts);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
spinner.fail("Simulation failed");
|
|
53
|
+
throw new Error(`Simulation failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
54
|
+
}
|
|
55
|
+
txHash = await walletClient.sendTransaction({
|
|
56
|
+
to: recipient,
|
|
57
|
+
value: amountBigInt,
|
|
58
|
+
data: undefined,
|
|
59
|
+
});
|
|
45
60
|
}
|
|
46
61
|
else {
|
|
62
|
+
spinner.text = `Resolving ${tokenSymbol}...`;
|
|
47
63
|
const token = await resolveToken(tokenSymbol, chain);
|
|
48
64
|
amountBigInt = parseAmount(amount, token.decimals);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
65
|
+
spinner.text = `Sending ${amount} ${token.symbol} on ${chain.name}...`;
|
|
66
|
+
const { request } = await publicClient.simulateContract({
|
|
67
|
+
address: token.address,
|
|
68
|
+
abi: ERC20_ABI,
|
|
69
|
+
functionName: "transfer",
|
|
70
|
+
args: [recipient, amountBigInt],
|
|
71
|
+
account: wallet,
|
|
72
|
+
});
|
|
73
|
+
if (opts.simulate) {
|
|
74
|
+
const gasPrice = await publicClient.getGasPrice();
|
|
75
|
+
const gasEstimate = await publicClient.estimateContractGas({
|
|
52
76
|
address: token.address,
|
|
53
77
|
abi: ERC20_ABI,
|
|
54
78
|
functionName: "transfer",
|
|
55
79
|
args: [recipient, amountBigInt],
|
|
56
80
|
account: wallet,
|
|
57
81
|
});
|
|
58
|
-
|
|
59
|
-
|
|
82
|
+
const feeWei = gasEstimate * gasPrice;
|
|
83
|
+
const feeEth = formatUnits(feeWei, 18);
|
|
84
|
+
spinner.succeed("Simulation complete");
|
|
85
|
+
outputResult({
|
|
86
|
+
mode: "SIMULATION (no TX sent)",
|
|
87
|
+
amount: `${amount} ${token.symbol}`,
|
|
88
|
+
recipient,
|
|
89
|
+
estimatedGas: `${feeEth} ${chain.nativeSymbol}`,
|
|
90
|
+
chain: chain.name,
|
|
91
|
+
}, opts);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
txHash = await walletClient.writeContract(request);
|
|
60
95
|
}
|
|
96
|
+
spinner.succeed("Transfer confirmed");
|
|
97
|
+
const explorerLink = chain.viemChain.blockExplorers?.default.url
|
|
98
|
+
? `${chain.viemChain.blockExplorers.default.url}/tx/${txHash}`
|
|
99
|
+
: undefined;
|
|
61
100
|
outputResult({
|
|
62
|
-
txHash,
|
|
63
101
|
amount,
|
|
64
102
|
recipient,
|
|
65
|
-
token:
|
|
103
|
+
token: resolvedSymbol,
|
|
104
|
+
txHash,
|
|
105
|
+
...(explorerLink ? { explorer: explorerLink } : {}),
|
|
66
106
|
chain: chain.name,
|
|
67
107
|
}, opts);
|
|
68
108
|
}
|
|
69
109
|
catch (error) {
|
|
70
|
-
|
|
110
|
+
spinner.fail("Transfer failed");
|
|
111
|
+
console.error(formatError(error));
|
|
112
|
+
process.exitCode = 1;
|
|
71
113
|
}
|
|
72
114
|
}
|
|
73
115
|
//# sourceMappingURL=send.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/commands/wallet/send.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/commands/wallet/send.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { createRequire } from "node:module";
|
|
|
3
3
|
import { Command } from "commander";
|
|
4
4
|
import chalk from "chalk";
|
|
5
5
|
import { outputError } from "./lib/format.js";
|
|
6
|
+
import { BLUE, MINT, LOGO_ROW_COLORS } from "./lib/brand.js";
|
|
6
7
|
import { statusCommand } from "./commands/trade/status.js";
|
|
7
8
|
import { authLoginCommand } from "./commands/auth/login.js";
|
|
8
9
|
import { authVerifyCommand } from "./commands/auth/verify.js";
|
|
@@ -17,28 +18,143 @@ import { registerConfigCommands } from "./commands/config/index.js";
|
|
|
17
18
|
import { logoutCommand } from "./commands/auth/logout.js";
|
|
18
19
|
const require = createRequire(import.meta.url);
|
|
19
20
|
const { version } = require("../package.json");
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
process.on("SIGINT", () => process.exit(0));
|
|
22
|
+
process.on("SIGTERM", () => process.exit(0));
|
|
23
|
+
// ── ASCII Logo ───────────────────────────────────────────────────────
|
|
24
|
+
const LOGO_LINES = [
|
|
25
|
+
" ███████╗██╗██████╗ ██╗ ██╗",
|
|
26
|
+
" ██╔════╝██║██╔══██╗╚██╗██╔╝",
|
|
27
|
+
" █████╗ ██║██████╔╝ ╚███╔╝ ",
|
|
28
|
+
" ██╔══╝ ██║██╔══██╗ ██╔██╗ ",
|
|
29
|
+
" ██║ ██║██████╔╝██╔╝ ██╗",
|
|
30
|
+
" ╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝",
|
|
31
|
+
];
|
|
32
|
+
const coloredLogo = LOGO_LINES.map((line, i) => chalk.bold.hex(LOGO_ROW_COLORS[i] ?? MINT)(line)).join("\n");
|
|
33
|
+
const tagline = chalk.dim("v") +
|
|
34
|
+
chalk.hex(BLUE).bold(version) +
|
|
35
|
+
chalk.dim(" · ") +
|
|
36
|
+
chalk.white("Multi-Chain DeFi CLI + MCP Server");
|
|
37
|
+
const banner = `\n${coloredLogo}\n\n${tagline}\n`;
|
|
38
|
+
// ── Quick Start Footer ───────────────────────────────────────────────
|
|
39
|
+
const dim = chalk.dim.bind(chalk);
|
|
40
|
+
const white = chalk.white.bind(chalk);
|
|
41
|
+
const footer = `
|
|
42
|
+
${chalk.bold.hex(MINT)("Quick Start")}
|
|
43
|
+
|
|
44
|
+
${dim("$")} ${white("fibx auth login <email>")} ${dim("# Sign in with Privy OTP")}
|
|
45
|
+
${dim("$")} ${white("fibx trade 0.1 ETH USDC")} ${dim("# Best-price swap via Fibrous")}
|
|
46
|
+
${dim("$")} ${white("fibx balance")} ${dim("# View all token balances")}
|
|
47
|
+
${dim("$")} ${white("fibx aave supply 1 ETH")} ${dim("# Supply to Aave V3")}
|
|
48
|
+
${dim("$")} ${white("fibx portfolio")} ${dim("# Cross-chain portfolio")}
|
|
49
|
+
|
|
50
|
+
${dim("Run")} ${white("fibx <command> --help")} ${dim("for detailed flags and examples.")}
|
|
51
|
+
${dim("Docs →")} ${chalk.hex(BLUE).underline("https://github.com/ahmetenesdur/fibx")}
|
|
27
52
|
`;
|
|
53
|
+
// ── Command Groups ───────────────────────────────────────────────────
|
|
54
|
+
const COMMAND_GROUPS = {
|
|
55
|
+
Authentication: ["auth"],
|
|
56
|
+
Wallet: ["address", "balance", "wallets", "send"],
|
|
57
|
+
Trading: ["trade", "portfolio"],
|
|
58
|
+
DeFi: ["aave"],
|
|
59
|
+
System: ["status", "tx-status", "config", "mcp-start", "help"],
|
|
60
|
+
};
|
|
61
|
+
// ── Program Setup ────────────────────────────────────────────────────
|
|
62
|
+
const program = new Command();
|
|
28
63
|
program
|
|
29
64
|
.name("fibx")
|
|
30
|
-
.description("
|
|
31
|
-
.version(version)
|
|
32
|
-
|
|
65
|
+
.description("Multi-chain DeFi CLI + MCP Server. Powered by Fibrous.")
|
|
66
|
+
.version(version)
|
|
67
|
+
.showHelpAfterError()
|
|
68
|
+
.addHelpText("beforeAll", banner);
|
|
69
|
+
program.configureHelp({
|
|
70
|
+
formatHelp(cmd, helper) {
|
|
71
|
+
if (cmd.name() !== "fibx") {
|
|
72
|
+
// Sub-command pages: clean styled layout
|
|
73
|
+
const lines = [];
|
|
74
|
+
const width = helper.padWidth(cmd, helper);
|
|
75
|
+
const usage = helper.commandUsage(cmd);
|
|
76
|
+
if (usage)
|
|
77
|
+
lines.push(`${chalk.bold("Usage:")} ${usage}`, "");
|
|
78
|
+
const desc = helper.commandDescription(cmd);
|
|
79
|
+
if (desc)
|
|
80
|
+
lines.push(desc, "");
|
|
81
|
+
const args = helper.visibleArguments(cmd);
|
|
82
|
+
if (args.length) {
|
|
83
|
+
lines.push(chalk.bold("Arguments:"));
|
|
84
|
+
for (const a of args) {
|
|
85
|
+
lines.push(` ${chalk.white(helper.argumentTerm(a).padEnd(width))} ${chalk.dim(helper.argumentDescription(a))}`);
|
|
86
|
+
}
|
|
87
|
+
lines.push("");
|
|
88
|
+
}
|
|
89
|
+
const opts = helper.visibleOptions(cmd);
|
|
90
|
+
if (opts.length) {
|
|
91
|
+
lines.push(chalk.bold("Options:"));
|
|
92
|
+
for (const o of opts) {
|
|
93
|
+
lines.push(` ${chalk.white(helper.optionTerm(o).padEnd(width))} ${chalk.dim(helper.optionDescription(o))}`);
|
|
94
|
+
}
|
|
95
|
+
lines.push("");
|
|
96
|
+
}
|
|
97
|
+
const subs = helper.visibleCommands(cmd);
|
|
98
|
+
if (subs.length) {
|
|
99
|
+
lines.push(chalk.bold("Commands:"));
|
|
100
|
+
for (const s of subs) {
|
|
101
|
+
lines.push(` ${chalk.white(helper.subcommandTerm(s).padEnd(width))} ${chalk.dim(helper.subcommandDescription(s))}`);
|
|
102
|
+
}
|
|
103
|
+
lines.push("");
|
|
104
|
+
}
|
|
105
|
+
return lines.join("\n");
|
|
106
|
+
}
|
|
107
|
+
// Root command: grouped layout + Quick Start
|
|
108
|
+
const lines = [];
|
|
109
|
+
const width = helper.padWidth(cmd, helper);
|
|
110
|
+
lines.push(`${chalk.bold("Usage:")} fibx ${chalk.dim("[command]")} ${chalk.dim("[options]")}`, "");
|
|
111
|
+
const opts = helper.visibleOptions(cmd);
|
|
112
|
+
if (opts.length) {
|
|
113
|
+
lines.push(chalk.bold("Options:"));
|
|
114
|
+
for (const o of opts) {
|
|
115
|
+
lines.push(` ${chalk.hex(BLUE)(helper.optionTerm(o).padEnd(width))} ${chalk.dim(helper.optionDescription(o))}`);
|
|
116
|
+
}
|
|
117
|
+
lines.push("");
|
|
118
|
+
}
|
|
119
|
+
lines.push(chalk.bold("Commands:"));
|
|
120
|
+
const allCmds = helper.visibleCommands(cmd);
|
|
121
|
+
const cmdMap = new Map(allCmds.map((c) => [c.name(), c]));
|
|
122
|
+
const rendered = new Set();
|
|
123
|
+
for (const [groupLabel, cmdNames] of Object.entries(COMMAND_GROUPS)) {
|
|
124
|
+
const groupCmds = cmdNames
|
|
125
|
+
.map((n) => cmdMap.get(n))
|
|
126
|
+
.filter((c) => c !== undefined);
|
|
127
|
+
if (groupCmds.length === 0)
|
|
128
|
+
continue;
|
|
129
|
+
lines.push(`\n ${chalk.bold.hex(BLUE)(groupLabel)}`);
|
|
130
|
+
for (const c of groupCmds) {
|
|
131
|
+
lines.push(` ${chalk.white(helper.subcommandTerm(c).padEnd(width))} ${chalk.dim(helper.subcommandDescription(c))}`);
|
|
132
|
+
rendered.add(c.name());
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Catch-all for commands not listed in COMMAND_GROUPS
|
|
136
|
+
const ungrouped = allCmds.filter((c) => !rendered.has(c.name()));
|
|
137
|
+
if (ungrouped.length) {
|
|
138
|
+
lines.push(`\n ${chalk.bold("Other")}`);
|
|
139
|
+
for (const c of ungrouped) {
|
|
140
|
+
lines.push(` ${chalk.white(helper.subcommandTerm(c).padEnd(width))} ${chalk.dim(helper.subcommandDescription(c))}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
lines.push("", footer);
|
|
144
|
+
return lines.join("\n");
|
|
145
|
+
},
|
|
146
|
+
});
|
|
33
147
|
registerConfigCommands(program);
|
|
34
148
|
program
|
|
35
149
|
.option("-c, --chain <chain>", "Chain to use (base, citrea, hyperevm, monad)", "base")
|
|
36
150
|
.option("--json", "Output results as JSON", false)
|
|
37
151
|
.showHelpAfterError();
|
|
152
|
+
// ── Auth Commands ────────────────────────────────────────────────────
|
|
38
153
|
const auth = program.command("auth").description("Authentication commands");
|
|
39
154
|
auth.command("login")
|
|
40
155
|
.description("Initiate email OTP login via Privy")
|
|
41
156
|
.argument("<email>", "Email address for OTP login")
|
|
157
|
+
.addHelpText("after", "\nExamples:\n $ fibx auth login user@example.com")
|
|
42
158
|
.action(async (email, _opts, cmd) => {
|
|
43
159
|
const globalOpts = cmd.parent.parent.opts();
|
|
44
160
|
await authLoginCommand(email, { json: globalOpts.json });
|
|
@@ -47,21 +163,25 @@ auth.command("verify")
|
|
|
47
163
|
.description("Verify OTP code and create wallet session")
|
|
48
164
|
.argument("<email>", "Email used for login")
|
|
49
165
|
.argument("<code>", "OTP code from email")
|
|
166
|
+
.addHelpText("after", "\nExamples:\n $ fibx auth verify user@example.com 123456")
|
|
50
167
|
.action(async (email, code, _opts, cmd) => {
|
|
51
168
|
const globalOpts = cmd.parent.parent.opts();
|
|
52
169
|
await authVerifyCommand(email, code, { json: globalOpts.json });
|
|
53
170
|
});
|
|
54
171
|
auth.command("import")
|
|
55
172
|
.description("Import a private key for local authentication")
|
|
173
|
+
.addHelpText("after", "\nExamples:\n $ fibx auth import")
|
|
56
174
|
.action(async (_opts, cmd) => {
|
|
57
175
|
const globalOpts = cmd.parent.parent.opts();
|
|
58
176
|
const { authImportCommand } = await import("./commands/auth/import.js");
|
|
59
177
|
await authImportCommand({ json: globalOpts.json });
|
|
60
178
|
});
|
|
61
179
|
auth.addCommand(logoutCommand);
|
|
180
|
+
// ── System Commands ──────────────────────────────────────────────────
|
|
62
181
|
program
|
|
63
182
|
.command("status")
|
|
64
183
|
.description("Check auth status and Fibrous health")
|
|
184
|
+
.addHelpText("after", "\nExamples:\n $ fibx status\n $ fibx status --chain monad")
|
|
65
185
|
.action(async (_opts, cmd) => {
|
|
66
186
|
const globalOpts = cmd.parent.opts();
|
|
67
187
|
await statusCommand({ ...globalOpts, json: globalOpts.json });
|
|
@@ -70,16 +190,19 @@ program
|
|
|
70
190
|
.command("tx-status")
|
|
71
191
|
.description("Check transaction status and receipt")
|
|
72
192
|
.argument("<hash>", "Transaction hash (0x...)")
|
|
193
|
+
.addHelpText("after", "\nExamples:\n $ fibx tx-status 0xabc...def\n $ fibx tx-status 0xabc...def --chain monad")
|
|
73
194
|
.action(async (hash, _opts, cmd) => {
|
|
74
195
|
const globalOpts = cmd.parent.opts();
|
|
75
196
|
await txStatusCommand(hash, { ...globalOpts, json: globalOpts.json });
|
|
76
197
|
});
|
|
198
|
+
// ── Wallet Commands ──────────────────────────────────────────────────
|
|
77
199
|
program
|
|
78
200
|
.command("wallets")
|
|
79
|
-
.description("List wallets linked to
|
|
80
|
-
.
|
|
81
|
-
|
|
82
|
-
.
|
|
201
|
+
.description("List wallets linked to the active session")
|
|
202
|
+
.action(async (_opts, cmd) => {
|
|
203
|
+
const globalOpts = cmd.parent.opts();
|
|
204
|
+
await walletsCommand({ json: globalOpts.json });
|
|
205
|
+
});
|
|
83
206
|
program
|
|
84
207
|
.command("address")
|
|
85
208
|
.description("Show active wallet address")
|
|
@@ -90,6 +213,7 @@ program
|
|
|
90
213
|
program
|
|
91
214
|
.command("balance")
|
|
92
215
|
.description("Show native token and ERC-20 balances")
|
|
216
|
+
.addHelpText("after", "\nExamples:\n $ fibx balance\n $ fibx balance --chain citrea\n $ fibx balance --json")
|
|
93
217
|
.action(async (_opts, cmd) => {
|
|
94
218
|
const globalOpts = cmd.parent.opts();
|
|
95
219
|
await balanceCommand({ ...globalOpts, json: globalOpts.json });
|
|
@@ -100,18 +224,27 @@ program
|
|
|
100
224
|
.argument("<amount>", "Amount to send")
|
|
101
225
|
.argument("<recipient>", "Recipient address (0x...)")
|
|
102
226
|
.argument("[token]", "Token symbol or address (default: chain native token)")
|
|
103
|
-
.
|
|
227
|
+
.option("--simulate", "Estimate gas without executing", false)
|
|
228
|
+
.addHelpText("after", "\nExamples:\n $ fibx send 0.1 0xRecipient...\n $ fibx send 100 0xRecipient... USDC\n $ fibx send 0.5 0xRecipient... --chain monad")
|
|
229
|
+
.action(async (amount, recipient, token, opts, cmd) => {
|
|
104
230
|
const globalOpts = cmd.parent.opts();
|
|
105
|
-
await sendCommand(amount, recipient, token, {
|
|
231
|
+
await sendCommand(amount, recipient, token, {
|
|
232
|
+
...globalOpts,
|
|
233
|
+
json: globalOpts.json,
|
|
234
|
+
simulate: opts.simulate,
|
|
235
|
+
});
|
|
106
236
|
});
|
|
237
|
+
// ── Trading Commands ─────────────────────────────────────────────────
|
|
107
238
|
program
|
|
108
239
|
.command("trade")
|
|
109
240
|
.description("Swap tokens via Fibrous")
|
|
110
241
|
.argument("<amount>", "Amount to swap")
|
|
111
242
|
.argument("<from>", "Source token (symbol or address)")
|
|
112
243
|
.argument("<to>", "Destination token (symbol or address)")
|
|
113
|
-
.option("-s, --slippage <number>", "Slippage tolerance", "0.5")
|
|
244
|
+
.option("-s, --slippage <number>", "Slippage tolerance %", "0.5")
|
|
114
245
|
.option("--approve-max", "Approve maximum amount instead of exact amount", false)
|
|
246
|
+
.option("--simulate", "Estimate gas without executing", false)
|
|
247
|
+
.addHelpText("after", "\nExamples:\n $ fibx trade 0.1 ETH USDC\n $ fibx trade 100 USDC WETH --slippage 1\n $ fibx trade 0.5 ETH DAI --chain base")
|
|
115
248
|
.action(async (amount, from, to, opts, cmd) => {
|
|
116
249
|
const globalOpts = cmd.parent.opts();
|
|
117
250
|
await tradeCommand(amount, from, to, {
|
|
@@ -119,26 +252,56 @@ program
|
|
|
119
252
|
json: globalOpts.json,
|
|
120
253
|
slippage: parseFloat(opts.slippage),
|
|
121
254
|
approveMax: opts.approveMax,
|
|
255
|
+
simulate: opts.simulate,
|
|
122
256
|
});
|
|
123
257
|
});
|
|
258
|
+
program
|
|
259
|
+
.command("portfolio")
|
|
260
|
+
.description("Show cross-chain portfolio with USD values")
|
|
261
|
+
.addHelpText("after", "\nExamples:\n $ fibx portfolio\n $ fibx portfolio --json")
|
|
262
|
+
.action(async (_opts, cmd) => {
|
|
263
|
+
const globalOpts = cmd.parent.opts();
|
|
264
|
+
const { portfolioCommand } = await import("./commands/portfolio/index.js");
|
|
265
|
+
await portfolioCommand({ json: !!globalOpts.json });
|
|
266
|
+
});
|
|
267
|
+
// ── DeFi Commands ────────────────────────────────────────────────────
|
|
124
268
|
program
|
|
125
269
|
.command("aave")
|
|
126
270
|
.description("Aave V3 operations (Base only)")
|
|
127
|
-
.argument("<action>", "Action: status, supply, borrow, repay, withdraw")
|
|
128
|
-
.argument("[amount]", "Amount")
|
|
271
|
+
.argument("<action>", "Action: status, supply, borrow, repay, withdraw, markets")
|
|
272
|
+
.argument("[amount]", "Amount (use 'max' for full repay/withdraw)")
|
|
129
273
|
.argument("[token]", "Token symbol or address")
|
|
130
|
-
.
|
|
274
|
+
.option("--simulate", "Estimate gas without executing", false)
|
|
275
|
+
.addHelpText("after", "\nExamples:\n $ fibx aave status\n $ fibx aave markets\n $ fibx aave supply 1 ETH\n $ fibx aave supply 1 ETH --simulate\n $ fibx aave borrow 500 USDC\n $ fibx aave repay max USDC\n $ fibx aave withdraw max ETH")
|
|
276
|
+
.action(async (action, amount, token, opts, cmd) => {
|
|
131
277
|
const globalOpts = cmd.parent.opts();
|
|
132
|
-
await aaveCommand(action, amount, token, {
|
|
278
|
+
await aaveCommand(action, amount, token, {
|
|
279
|
+
...globalOpts,
|
|
280
|
+
json: globalOpts.json,
|
|
281
|
+
simulate: opts.simulate,
|
|
282
|
+
});
|
|
133
283
|
});
|
|
284
|
+
// ── MCP Server ───────────────────────────────────────────────────────
|
|
134
285
|
program
|
|
135
286
|
.command("mcp-start")
|
|
136
287
|
.description("Start MCP (Model Context Protocol) server for AI agent integration")
|
|
288
|
+
.addHelpText("after", `
|
|
289
|
+
Notes:
|
|
290
|
+
Communicates via stdin/stdout (stdio transport — standard MCP protocol).
|
|
291
|
+
Add to your AI client config (Claude, Cursor, etc.):
|
|
292
|
+
|
|
293
|
+
{
|
|
294
|
+
"mcpServers": {
|
|
295
|
+
"fibx": { "command": "fibx", "args": ["mcp-start"] }
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
See MCP.md for the full integration guide.`)
|
|
137
300
|
.action(async () => {
|
|
138
301
|
const { startMcpServer } = await import("./mcp/server.js");
|
|
139
302
|
await startMcpServer();
|
|
140
303
|
});
|
|
141
304
|
program.parseAsync().catch((error) => {
|
|
142
|
-
outputError(error, program.opts().json);
|
|
305
|
+
outputError(error, { json: !!program.opts().json });
|
|
143
306
|
});
|
|
144
307
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const BLUE = "#11B2BA";
|
|
2
|
+
export declare const MINT = "#0FD9A2";
|
|
3
|
+
export declare const SLATE = "#94a3b8";
|
|
4
|
+
export declare const LOGO_ROW_COLORS: readonly ["#11B2BA", "#10B9B4", "#0FC1AE", "#0EC9A8", "#0FD1A5", "#0FD9A2"];
|
|
5
|
+
//# sourceMappingURL=brand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,IAAI,YAAY,CAAC;AAC9B,eAAO,MAAM,KAAK,YAAY,CAAC;AAG/B,eAAO,MAAM,eAAe,6EAOlB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Single source of truth for CLI brand palette.
|
|
2
|
+
// Used by index.ts (banner) and lib/format.ts (output formatting).
|
|
3
|
+
export const BLUE = "#11B2BA"; // fibx teal — primary accent
|
|
4
|
+
export const MINT = "#0FD9A2"; // fibx green — success / USD values
|
|
5
|
+
export const SLATE = "#94a3b8"; // slate-400 — table even rows
|
|
6
|
+
// ASCII logo row colors (teal → green gradient)
|
|
7
|
+
export const LOGO_ROW_COLORS = [
|
|
8
|
+
"#11B2BA",
|
|
9
|
+
"#10B9B4",
|
|
10
|
+
"#0FC1AE",
|
|
11
|
+
"#0EC9A8",
|
|
12
|
+
"#0FD1A5",
|
|
13
|
+
"#0FD9A2",
|
|
14
|
+
];
|
|
15
|
+
//# sourceMappingURL=brand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,mEAAmE;AAEnE,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,gCAAgC;AAC/D,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,sCAAsC;AACrE,MAAM,CAAC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,iCAAiC;AAEjE,gDAAgD;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC9B,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACA,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createSpinner } from "./format.js";
|
|
2
|
+
type Spinner = ReturnType<typeof createSpinner>;
|
|
3
|
+
/**
|
|
4
|
+
* Wraps the standard CLI spinner + try/catch + process.exitCode pattern.
|
|
5
|
+
* Use for simple commands with a single spinner lifecycle.
|
|
6
|
+
* Multi-step spinner commands should keep their manual pattern.
|
|
7
|
+
*/
|
|
8
|
+
export declare function runCommand<T>(spinnerText: string, successText: string, failText: string, fn: (spinner: Spinner) => Promise<T>, render: (data: T) => void): Promise<void>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=cli-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/cli-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAEzD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AAEhD;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,CAAC,EACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EACpC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GACvB,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createSpinner, formatError } from "./format.js";
|
|
2
|
+
/**
|
|
3
|
+
* Wraps the standard CLI spinner + try/catch + process.exitCode pattern.
|
|
4
|
+
* Use for simple commands with a single spinner lifecycle.
|
|
5
|
+
* Multi-step spinner commands should keep their manual pattern.
|
|
6
|
+
*/
|
|
7
|
+
export async function runCommand(spinnerText, successText, failText, fn, render) {
|
|
8
|
+
const spinner = createSpinner(spinnerText).start();
|
|
9
|
+
try {
|
|
10
|
+
const result = await fn(spinner);
|
|
11
|
+
spinner.succeed(successText);
|
|
12
|
+
render(result);
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
spinner.fail(failText);
|
|
16
|
+
console.error(formatError(error));
|
|
17
|
+
process.exitCode = 1;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=cli-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-helpers.js","sourceRoot":"","sources":["../../src/lib/cli-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAIzD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,WAAmB,EACnB,WAAmB,EACnB,QAAgB,EAChB,EAAoC,EACpC,MAAyB;IAEzB,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;IACnD,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sliding-window concurrency — starts a new task as soon as one completes.
|
|
3
|
+
* Never exceeds `concurrency` in-flight promises at once.
|
|
4
|
+
*
|
|
5
|
+
* Results where `fn` returns `undefined` are filtered out.
|
|
6
|
+
*/
|
|
7
|
+
export declare function runConcurrent<T, R>(items: T[], concurrency: number, fn: (item: T) => Promise<R | undefined>): Promise<R[]>;
|
|
8
|
+
//# sourceMappingURL=concurrency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../../src/lib/concurrency.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,CAAC,EAAE,CAAC,EACvC,KAAK,EAAE,CAAC,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GACrC,OAAO,CAAC,CAAC,EAAE,CAAC,CAqBd"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sliding-window concurrency — starts a new task as soon as one completes.
|
|
3
|
+
* Never exceeds `concurrency` in-flight promises at once.
|
|
4
|
+
*
|
|
5
|
+
* Results where `fn` returns `undefined` are filtered out.
|
|
6
|
+
*/
|
|
7
|
+
export async function runConcurrent(items, concurrency, fn) {
|
|
8
|
+
const results = [];
|
|
9
|
+
let index = 0;
|
|
10
|
+
const worker = async () => {
|
|
11
|
+
while (index < items.length) {
|
|
12
|
+
const current = index++;
|
|
13
|
+
const item = items[current];
|
|
14
|
+
if (!item)
|
|
15
|
+
continue;
|
|
16
|
+
const result = await fn(item);
|
|
17
|
+
if (result !== undefined) {
|
|
18
|
+
results.push(result);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const workers = Array.from({ length: Math.min(concurrency, items.length) }, () => worker());
|
|
23
|
+
await Promise.all(workers);
|
|
24
|
+
return results;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=concurrency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../../src/lib/concurrency.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,KAAU,EACV,WAAmB,EACnB,EAAuC;IAEvC,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACzB,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5F,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE3B,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,2BAAmB,CAAC;AAEtC,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAC9D,eAAO,MAAM,iBAAiB,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,2BAAmB,CAAC;AAEtC,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAC9D,eAAO,MAAM,iBAAiB,kCAAkC,CAAC;AAGjE,eAAO,MAAM,oBAAoB,kDAAkD,CAAC;AAEpF,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,kBAAkB,QAAsB,CAAC"}
|