@bithumb-official/bithumb-cli 0.1.16

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.
Files changed (44) hide show
  1. package/dist/account-UVDNQRB7.js +78 -0
  2. package/dist/account-UVDNQRB7.js.map +1 -0
  3. package/dist/account-YNPFEHQT.js +90 -0
  4. package/dist/account-YNPFEHQT.js.map +1 -0
  5. package/dist/chunk-AUQ7MB6O.js +143 -0
  6. package/dist/chunk-AUQ7MB6O.js.map +1 -0
  7. package/dist/chunk-FYO6WLZI.js +72 -0
  8. package/dist/chunk-FYO6WLZI.js.map +1 -0
  9. package/dist/chunk-YXIFBNEQ.js +3488 -0
  10. package/dist/chunk-YXIFBNEQ.js.map +1 -0
  11. package/dist/config-2P3Y3TQH.js +182 -0
  12. package/dist/config-2P3Y3TQH.js.map +1 -0
  13. package/dist/config-6BIS2PLC.js +154 -0
  14. package/dist/config-6BIS2PLC.js.map +1 -0
  15. package/dist/deposit-HNUSMKX5.js +161 -0
  16. package/dist/deposit-HNUSMKX5.js.map +1 -0
  17. package/dist/deposit-TCMLJ7MI.js +169 -0
  18. package/dist/deposit-TCMLJ7MI.js.map +1 -0
  19. package/dist/index.d.ts +2 -0
  20. package/dist/index.js +211 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/market-EEF3KI4T.js +219 -0
  23. package/dist/market-EEF3KI4T.js.map +1 -0
  24. package/dist/market-GLU62BWO.js +304 -0
  25. package/dist/market-GLU62BWO.js.map +1 -0
  26. package/dist/setup-LAAVO63H.js +21 -0
  27. package/dist/setup-LAAVO63H.js.map +1 -0
  28. package/dist/system-BRZY7PTZ.js +98 -0
  29. package/dist/system-BRZY7PTZ.js.map +1 -0
  30. package/dist/system-XRZ2KHXL.js +69 -0
  31. package/dist/system-XRZ2KHXL.js.map +1 -0
  32. package/dist/trade-FERR47DJ.js +233 -0
  33. package/dist/trade-FERR47DJ.js.map +1 -0
  34. package/dist/trade-H4G5P2W2.js +159 -0
  35. package/dist/trade-H4G5P2W2.js.map +1 -0
  36. package/dist/twap-44UCVSIR.js +91 -0
  37. package/dist/twap-44UCVSIR.js.map +1 -0
  38. package/dist/twap-4LRBUMTG.js +82 -0
  39. package/dist/twap-4LRBUMTG.js.map +1 -0
  40. package/dist/withdraw-IRMICBD2.js +203 -0
  41. package/dist/withdraw-IRMICBD2.js.map +1 -0
  42. package/dist/withdraw-TLGVRUBS.js +161 -0
  43. package/dist/withdraw-TLGVRUBS.js.map +1 -0
  44. package/package.json +25 -0
@@ -0,0 +1,169 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ BithumbApiError
4
+ } from "./chunk-YXIFBNEQ.js";
5
+ import {
6
+ toArray,
7
+ toNumber
8
+ } from "./chunk-AUQ7MB6O.js";
9
+ import {
10
+ errorLine,
11
+ outputLine,
12
+ printJson,
13
+ printKv,
14
+ printTable
15
+ } from "./chunk-FYO6WLZI.js";
16
+
17
+ // src/commands/deposit.ts
18
+ async function handleDepositCommand(run, action, v, json) {
19
+ switch (action) {
20
+ case "get":
21
+ return cmdGet(run, v, json);
22
+ case "list":
23
+ return cmdList(run, v, json);
24
+ case "list-krw":
25
+ return cmdListKrw(run, v, json);
26
+ case "krw":
27
+ return cmdKrw(run, v, json);
28
+ case "generate-address":
29
+ return cmdGenerateAddress(run, v, json);
30
+ case "addresses":
31
+ return cmdAddresses(run, json);
32
+ case "address":
33
+ return cmdAddress(run, v, json);
34
+ default:
35
+ errorLine(`Unknown deposit command: ${action}. Run 'bithumb deposit --help' for usage.`);
36
+ process.exitCode = 1;
37
+ }
38
+ }
39
+ async function cmdGet(run, v, json) {
40
+ if (v.txids) {
41
+ errorLine("Error: 'deposit get' supports --uuid only. For txid lookup use:");
42
+ errorLine(" bithumb deposit list --txids <txid1,txid2>");
43
+ process.exitCode = 1;
44
+ return;
45
+ }
46
+ if (!v.currency) {
47
+ errorLine("Error: --currency required. Example: bithumb deposit get --currency BTC --uuid abc-123");
48
+ process.exitCode = 1;
49
+ return;
50
+ }
51
+ if (!v.uuid) {
52
+ errorLine("Error: --uuid required for 'deposit get'. Example: bithumb deposit get --currency BTC --uuid abc-123");
53
+ errorLine("Tip: To search by txid, use 'bithumb deposit list --txids <txid>'.");
54
+ process.exitCode = 1;
55
+ return;
56
+ }
57
+ const args = { currency: v.currency, uuid: v.uuid };
58
+ try {
59
+ const result = await run("deposit_get", args);
60
+ const data = result.data;
61
+ if (!data || typeof data === "object" && Object.keys(data).length === 0) {
62
+ outputLine("No deposit found.");
63
+ return;
64
+ }
65
+ if (json) return printJson(data);
66
+ printKv(data);
67
+ } catch (err) {
68
+ if (err instanceof BithumbApiError) {
69
+ const codeNum = Number(err.code);
70
+ const codeStr = err.code ?? "";
71
+ const errNamePattern = /not.?found|invalid|forbidden|unauthorized|bad.?request/i;
72
+ const messagePattern = /not.?found|invalid/i;
73
+ const isClientError = Number.isFinite(codeNum) && codeNum >= 400 && codeNum < 500 || errNamePattern.test(codeStr) || messagePattern.test(err.message);
74
+ if (isClientError) {
75
+ errorLine(`Error: deposit not found or invalid request (${err.code}). ${err.message}`);
76
+ process.exitCode = 1;
77
+ return;
78
+ }
79
+ errorLine(`Error: ${err.message}`);
80
+ process.exitCode = 1;
81
+ return;
82
+ }
83
+ throw err;
84
+ }
85
+ }
86
+ async function cmdList(run, v, json) {
87
+ const args = {};
88
+ if (v.currency) args.currency = v.currency;
89
+ if (v.state) args.state = v.state;
90
+ if (v.uuids) args.uuids = toArray(v.uuids);
91
+ if (v.txids) args.txids = toArray(v.txids);
92
+ if (v.limit) args.limit = toNumber(v.limit);
93
+ if (v.page) args.page = toNumber(v.page);
94
+ if (v.orderBy) args.order_by = v.orderBy;
95
+ const result = await run("deposit_get_list", args);
96
+ const items = result.data;
97
+ if (json) return printJson(items);
98
+ if (!items?.length) {
99
+ outputLine("No deposits found");
100
+ return;
101
+ }
102
+ printTable(items);
103
+ }
104
+ async function cmdListKrw(run, v, json) {
105
+ const args = {};
106
+ if (v.state) args.state = v.state;
107
+ if (v.uuids) args.uuids = toArray(v.uuids);
108
+ if (v.txids) args.txids = toArray(v.txids);
109
+ if (v.limit) args.limit = toNumber(v.limit);
110
+ if (v.page) args.page = toNumber(v.page);
111
+ if (v.orderBy) args.order_by = v.orderBy;
112
+ const result = await run("deposit_get_list_krw", args);
113
+ const items = result.data;
114
+ if (json) return printJson(items);
115
+ if (!items?.length) {
116
+ outputLine("No KRW deposits found");
117
+ return;
118
+ }
119
+ printTable(items);
120
+ }
121
+ async function cmdKrw(run, v, json) {
122
+ if (!v.amount || !v.twoFactorType) {
123
+ errorLine("Error: --amount and --two-factor-type required.");
124
+ errorLine("CAUTION: This will initiate a real KRW deposit request!");
125
+ process.exitCode = 1;
126
+ return;
127
+ }
128
+ outputLine("WARNING: Initiating KRW deposit request.");
129
+ const result = await run("deposit_krw", { amount: v.amount, two_factor_type: v.twoFactorType });
130
+ const data = result.data;
131
+ if (json) return printJson(data);
132
+ printKv(data);
133
+ }
134
+ async function cmdGenerateAddress(run, v, json) {
135
+ if (!v.currency || !v.netType) {
136
+ errorLine("Error: --currency and --net-type required. Example: bithumb deposit generate-address --currency BTC --net-type BTC");
137
+ process.exitCode = 1;
138
+ return;
139
+ }
140
+ const result = await run("deposit_generate_address", { currency: v.currency, net_type: v.netType });
141
+ const data = result.data;
142
+ if (json) return printJson(data);
143
+ printKv(data);
144
+ }
145
+ async function cmdAddresses(run, json) {
146
+ const result = await run("deposit_get_addresses", {});
147
+ const items = result.data;
148
+ if (json) return printJson(items);
149
+ if (!items?.length) {
150
+ outputLine("No deposit addresses found");
151
+ return;
152
+ }
153
+ printTable(items);
154
+ }
155
+ async function cmdAddress(run, v, json) {
156
+ if (!v.currency || !v.netType) {
157
+ errorLine("Error: --currency and --net-type required. Example: bithumb deposit address --currency BTC --net-type BTC");
158
+ process.exitCode = 1;
159
+ return;
160
+ }
161
+ const result = await run("deposit_get_address", { currency: v.currency, net_type: v.netType });
162
+ const data = result.data;
163
+ if (json) return printJson(data);
164
+ printKv(data);
165
+ }
166
+ export {
167
+ handleDepositCommand
168
+ };
169
+ //# sourceMappingURL=deposit-TCMLJ7MI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/commands/deposit.ts"],"sourcesContent":["import type { ToolRunner } from \"@bithumb-official/bithumb-core\";\nimport { BithumbApiError } from \"@bithumb-official/bithumb-core\";\nimport type { CliValues } from \"../parser.js\";\nimport { toNumber, toArray } from \"../parser.js\";\nimport { outputLine, errorLine, printJson, printTable, printKv } from \"../formatter.js\";\n\nexport async function handleDepositCommand(\n run: ToolRunner,\n action: string,\n v: CliValues,\n json: boolean,\n): Promise<void> {\n switch (action) {\n case \"get\":\n return cmdGet(run, v, json);\n case \"list\":\n return cmdList(run, v, json);\n case \"list-krw\":\n return cmdListKrw(run, v, json);\n case \"krw\":\n return cmdKrw(run, v, json);\n case \"generate-address\":\n return cmdGenerateAddress(run, v, json);\n case \"addresses\":\n return cmdAddresses(run, json);\n case \"address\":\n return cmdAddress(run, v, json);\n default:\n errorLine(`Unknown deposit command: ${action}. Run 'bithumb deposit --help' for usage.`);\n process.exitCode = 1;\n }\n}\n\nasync function cmdGet(run: ToolRunner, v: CliValues, json: boolean): Promise<void> {\n if (v.txids) {\n errorLine(\"Error: 'deposit get' supports --uuid only. For txid lookup use:\");\n errorLine(\" bithumb deposit list --txids <txid1,txid2>\");\n process.exitCode = 1;\n return;\n }\n if (!v.currency) {\n errorLine(\"Error: --currency required. Example: bithumb deposit get --currency BTC --uuid abc-123\");\n process.exitCode = 1;\n return;\n }\n if (!v.uuid) {\n errorLine(\"Error: --uuid required for 'deposit get'. Example: bithumb deposit get --currency BTC --uuid abc-123\");\n errorLine(\"Tip: To search by txid, use 'bithumb deposit list --txids <txid>'.\");\n process.exitCode = 1;\n return;\n }\n const args: Record<string, unknown> = { currency: v.currency, uuid: v.uuid };\n try {\n const result = await run(\"deposit_get\", args);\n const data = result.data as Record<string, unknown> | undefined;\n if (!data || (typeof data === \"object\" && Object.keys(data).length === 0)) {\n outputLine(\"No deposit found.\");\n return;\n }\n if (json) return printJson(data);\n printKv(data);\n } catch (err) {\n // Bithumb API may return 4xx for unknown UUID; render gracefully without the `Fatal:` prefix.\n if (err instanceof BithumbApiError) {\n const codeNum = Number(err.code);\n const codeStr = err.code ?? \"\";\n const errNamePattern = /not.?found|invalid|forbidden|unauthorized|bad.?request/i;\n const messagePattern = /not.?found|invalid/i;\n const isClientError =\n (Number.isFinite(codeNum) && codeNum >= 400 && codeNum < 500) ||\n errNamePattern.test(codeStr) ||\n messagePattern.test(err.message);\n if (isClientError) {\n errorLine(`Error: deposit not found or invalid request (${err.code}). ${err.message}`);\n process.exitCode = 1;\n return;\n }\n // Other Bithumb API errors (5xx, unknown code): still graceful, not Fatal.\n errorLine(`Error: ${err.message}`);\n process.exitCode = 1;\n return;\n }\n throw err;\n }\n}\n\nasync function cmdList(run: ToolRunner, v: CliValues, json: boolean): Promise<void> {\n const args: Record<string, unknown> = {};\n if (v.currency) args.currency = v.currency;\n if (v.state) args.state = v.state;\n if (v.uuids) args.uuids = toArray(v.uuids);\n if (v.txids) args.txids = toArray(v.txids);\n if (v.limit) args.limit = toNumber(v.limit);\n if (v.page) args.page = toNumber(v.page);\n if (v.orderBy) args.order_by = v.orderBy;\n const result = await run(\"deposit_get_list\", args);\n const items = result.data as Record<string, unknown>[];\n if (json) return printJson(items);\n if (!items?.length) { outputLine(\"No deposits found\"); return; }\n printTable(items);\n}\n\nasync function cmdListKrw(run: ToolRunner, v: CliValues, json: boolean): Promise<void> {\n const args: Record<string, unknown> = {};\n if (v.state) args.state = v.state;\n if (v.uuids) args.uuids = toArray(v.uuids);\n if (v.txids) args.txids = toArray(v.txids);\n if (v.limit) args.limit = toNumber(v.limit);\n if (v.page) args.page = toNumber(v.page);\n if (v.orderBy) args.order_by = v.orderBy;\n const result = await run(\"deposit_get_list_krw\", args);\n const items = result.data as Record<string, unknown>[];\n if (json) return printJson(items);\n if (!items?.length) { outputLine(\"No KRW deposits found\"); return; }\n printTable(items);\n}\n\nasync function cmdKrw(run: ToolRunner, v: CliValues, json: boolean): Promise<void> {\n if (!v.amount || !v.twoFactorType) {\n errorLine(\"Error: --amount and --two-factor-type required.\");\n errorLine(\"CAUTION: This will initiate a real KRW deposit request!\");\n process.exitCode = 1;\n return;\n }\n outputLine(\"WARNING: Initiating KRW deposit request.\");\n const result = await run(\"deposit_krw\", { amount: v.amount, two_factor_type: v.twoFactorType });\n const data = result.data as Record<string, unknown>;\n if (json) return printJson(data);\n printKv(data);\n}\n\nasync function cmdGenerateAddress(run: ToolRunner, v: CliValues, json: boolean): Promise<void> {\n if (!v.currency || !v.netType) {\n errorLine(\"Error: --currency and --net-type required. Example: bithumb deposit generate-address --currency BTC --net-type BTC\");\n process.exitCode = 1;\n return;\n }\n const result = await run(\"deposit_generate_address\", { currency: v.currency, net_type: v.netType });\n const data = result.data as Record<string, unknown>;\n if (json) return printJson(data);\n printKv(data);\n}\n\nasync function cmdAddresses(run: ToolRunner, json: boolean): Promise<void> {\n const result = await run(\"deposit_get_addresses\", {});\n const items = result.data as Record<string, unknown>[];\n if (json) return printJson(items);\n if (!items?.length) { outputLine(\"No deposit addresses found\"); return; }\n printTable(items);\n}\n\nasync function cmdAddress(run: ToolRunner, v: CliValues, json: boolean): Promise<void> {\n if (!v.currency || !v.netType) {\n errorLine(\"Error: --currency and --net-type required. Example: bithumb deposit address --currency BTC --net-type BTC\");\n process.exitCode = 1;\n return;\n }\n const result = await run(\"deposit_get_address\", { currency: v.currency, net_type: v.netType });\n const data = result.data as Record<string, unknown>;\n if (json) return printJson(data);\n printKv(data);\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,2 @@
1
+
2
+ export { }
package/dist/index.js ADDED
@@ -0,0 +1,211 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ BithumbRestClient,
4
+ SUPPORTED_CLIENTS,
5
+ TradeLogger,
6
+ checkForUpdates,
7
+ createToolRunner,
8
+ loadConfig,
9
+ printSetupUsage,
10
+ runSetup
11
+ } from "./chunk-YXIFBNEQ.js";
12
+ import {
13
+ parseCli
14
+ } from "./chunk-AUQ7MB6O.js";
15
+ import {
16
+ errorLine,
17
+ outputLine
18
+ } from "./chunk-FYO6WLZI.js";
19
+
20
+ // src/constants.ts
21
+ var CLI_VERSION = "0.1.16";
22
+
23
+ // src/help/index.ts
24
+ var GLOBAL_HELP = `
25
+ bithumb v${CLI_VERSION} \u2014 Bithumb Trade CLI
26
+
27
+ Usage: bithumb <module> <command> [options]
28
+
29
+ Modules:
30
+ market Market data (ticker, orderbook, candles, trades)
31
+ account Account balance, wallet status, API keys
32
+ trade Order management (list, place, cancel, batch)
33
+ twap TWAP (Time-Weighted Average Price) orders
34
+ withdraw Cryptocurrency and KRW withdrawals
35
+ deposit Cryptocurrency and KRW deposits
36
+ system Capabilities, diagnostics, and local audit log (no auth required)
37
+
38
+ Utility:
39
+ setup Configure MCP client integration
40
+ config Manage CLI configuration profiles
41
+
42
+ Global Options:
43
+ --profile <name> Config profile (default: "default")
44
+ --json Output as JSON
45
+ --verbose Enable verbose logging
46
+ --read-only Read-only mode (setup only, disables write operations)
47
+ -h, --help Show help
48
+ -v, --version Show version
49
+
50
+ Run 'bithumb <module> --help' for module-specific commands.
51
+ `;
52
+ async function loadModule(module) {
53
+ switch (module) {
54
+ case "market":
55
+ return await import("./market-EEF3KI4T.js");
56
+ case "account":
57
+ return await import("./account-YNPFEHQT.js");
58
+ case "trade":
59
+ return await import("./trade-H4G5P2W2.js");
60
+ case "twap":
61
+ return await import("./twap-4LRBUMTG.js");
62
+ case "withdraw":
63
+ return await import("./withdraw-IRMICBD2.js");
64
+ case "deposit":
65
+ return await import("./deposit-HNUSMKX5.js");
66
+ case "system":
67
+ return await import("./system-BRZY7PTZ.js");
68
+ case "config":
69
+ return await import("./config-6BIS2PLC.js");
70
+ case "setup":
71
+ return await import("./setup-LAAVO63H.js");
72
+ default:
73
+ return null;
74
+ }
75
+ }
76
+ async function printHelp(positionals) {
77
+ const module = positionals[0];
78
+ const loaded = module ? await loadModule(module) : null;
79
+ if (loaded === null) {
80
+ outputLine(GLOBAL_HELP.trim());
81
+ return;
82
+ }
83
+ const action = positionals[1];
84
+ if (action && loaded.ACTION_HELP && action in loaded.ACTION_HELP) {
85
+ const helpText = loaded.ACTION_HELP[action].trim();
86
+ const hint = "(\u{1F4A1} Run 'bithumb --help' for a list of global options.)";
87
+ const withHint = helpText.replace(/\nExamples:/, `
88
+ ${hint}
89
+
90
+ Examples:`);
91
+ outputLine(withHint);
92
+ return;
93
+ }
94
+ outputLine(loaded.MODULE_HELP.trim());
95
+ }
96
+
97
+ // src/index.ts
98
+ function wrapRunnerWithLogger(baseRunner, logger) {
99
+ return async (toolName, args) => {
100
+ const start = Date.now();
101
+ try {
102
+ const result = await baseRunner(toolName, args);
103
+ logger.logTool("info", toolName, args, { status: "ok" }, Date.now() - start);
104
+ return result;
105
+ } catch (error) {
106
+ logger.logTool("error", toolName, args, error, Date.now() - start);
107
+ throw error;
108
+ }
109
+ };
110
+ }
111
+ function handleSetup(argv) {
112
+ const idx = argv.indexOf("setup");
113
+ const rest = argv.slice(idx + 1);
114
+ let client;
115
+ let profile;
116
+ let modules;
117
+ for (let i = 0; i < rest.length; i++) {
118
+ if (rest[i] === "--client" && rest[i + 1]) {
119
+ client = rest[++i];
120
+ } else if (rest[i] === "--profile" && rest[i + 1]) {
121
+ profile = rest[++i];
122
+ } else if (rest[i] === "--modules" && rest[i + 1]) {
123
+ modules = rest[++i];
124
+ } else if (rest[i] === "--help" || rest[i] === "-h") {
125
+ printSetupUsage();
126
+ return;
127
+ }
128
+ }
129
+ if (!client || !SUPPORTED_CLIENTS.includes(client)) {
130
+ errorLine(`Error: --client is required. Supported: ${SUPPORTED_CLIENTS.join(", ")}`);
131
+ process.exitCode = 1;
132
+ return;
133
+ }
134
+ runSetup({ client, profile, modules });
135
+ }
136
+ async function main() {
137
+ checkForUpdates("@bithumb-tradekit/cli", CLI_VERSION);
138
+ if (process.argv[2] === "setup") {
139
+ handleSetup(process.argv);
140
+ return;
141
+ }
142
+ const { values: v, positionals } = parseCli(process.argv.slice(2));
143
+ if (v.version) {
144
+ outputLine(CLI_VERSION);
145
+ return;
146
+ }
147
+ if (v.help || positionals.length === 0) {
148
+ await printHelp(positionals);
149
+ return;
150
+ }
151
+ const [module, action, ...rest] = positionals;
152
+ const json = v.json ?? false;
153
+ if (module === "config") {
154
+ const { handleConfigCommand } = await import("./config-2P3Y3TQH.js");
155
+ return handleConfigCommand(action, rest, v);
156
+ }
157
+ const config = loadConfig({
158
+ modules: v.modules,
159
+ readOnly: v.readOnly,
160
+ verbose: v.verbose,
161
+ profile: v.profile,
162
+ clientType: "cli"
163
+ });
164
+ const client = new BithumbRestClient(config);
165
+ const baseRunner = createToolRunner(client, config);
166
+ const logger = new TradeLogger(v.verbose ? "debug" : "info");
167
+ const run = wrapRunnerWithLogger(baseRunner, logger);
168
+ if (module === "system") {
169
+ const { handleSystemCommand } = await import("./system-XRZ2KHXL.js");
170
+ return handleSystemCommand(run, action, v, json);
171
+ }
172
+ const privateModules = /* @__PURE__ */ new Set(["account", "trade", "twap", "withdraw", "deposit"]);
173
+ if (privateModules.has(module) && !config.hasAuth) {
174
+ errorLine(
175
+ "Error: API credentials required. Run 'bithumb setup' or configure ~/.bithumb/config.toml"
176
+ );
177
+ process.exitCode = 1;
178
+ return;
179
+ }
180
+ if (module === "market") {
181
+ const { handleMarketCommand } = await import("./market-GLU62BWO.js");
182
+ return handleMarketCommand(run, action, rest, v, json);
183
+ }
184
+ if (module === "account") {
185
+ const { handleAccountCommand } = await import("./account-UVDNQRB7.js");
186
+ return handleAccountCommand(run, action, v, json);
187
+ }
188
+ if (module === "trade") {
189
+ const { handleTradeCommand } = await import("./trade-FERR47DJ.js");
190
+ return handleTradeCommand(run, action, v, json);
191
+ }
192
+ if (module === "twap") {
193
+ const { handleTwapCommand } = await import("./twap-44UCVSIR.js");
194
+ return handleTwapCommand(run, action, v, json);
195
+ }
196
+ if (module === "withdraw") {
197
+ const { handleWithdrawCommand } = await import("./withdraw-TLGVRUBS.js");
198
+ return handleWithdrawCommand(run, action, v, json);
199
+ }
200
+ if (module === "deposit") {
201
+ const { handleDepositCommand } = await import("./deposit-TCMLJ7MI.js");
202
+ return handleDepositCommand(run, action, v, json);
203
+ }
204
+ errorLine(`Unknown command: ${module}. Run 'bithumb --help' for usage.`);
205
+ process.exitCode = 1;
206
+ }
207
+ main().catch((err) => {
208
+ errorLine(`Fatal: ${err instanceof Error ? err.message : String(err)}`);
209
+ process.exitCode = 1;
210
+ });
211
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/constants.ts","../src/help/index.ts","../src/index.ts"],"sourcesContent":["export const CLI_VERSION = \"0.1.16\";\n","import { outputLine } from \"../formatter.js\";\nimport { CLI_VERSION } from \"../constants.js\";\n\nconst GLOBAL_HELP = `\nbithumb v${CLI_VERSION} — Bithumb Trade CLI\n\nUsage: bithumb <module> <command> [options]\n\nModules:\n market Market data (ticker, orderbook, candles, trades)\n account Account balance, wallet status, API keys\n trade Order management (list, place, cancel, batch)\n twap TWAP (Time-Weighted Average Price) orders\n withdraw Cryptocurrency and KRW withdrawals\n deposit Cryptocurrency and KRW deposits\n system Capabilities, diagnostics, and local audit log (no auth required)\n\nUtility:\n setup Configure MCP client integration\n config Manage CLI configuration profiles\n\nGlobal Options:\n --profile <name> Config profile (default: \"default\")\n --json Output as JSON\n --verbose Enable verbose logging\n --read-only Read-only mode (setup only, disables write operations)\n -h, --help Show help\n -v, --version Show version\n\nRun 'bithumb <module> --help' for module-specific commands.\n`;\n\ninterface ModuleHelp {\n MODULE_HELP: string;\n ACTION_HELP?: Record<string, string>;\n}\n\nasync function loadModule(module: string): Promise<ModuleHelp | null> {\n switch (module) {\n case \"market\":\n return await import(\"./market.js\");\n case \"account\":\n return await import(\"./account.js\");\n case \"trade\":\n return await import(\"./trade.js\");\n case \"twap\":\n return await import(\"./twap.js\");\n case \"withdraw\":\n return await import(\"./withdraw.js\");\n case \"deposit\":\n return await import(\"./deposit.js\");\n case \"system\":\n return await import(\"./system.js\");\n case \"config\":\n return await import(\"./config.js\");\n case \"setup\":\n return await import(\"./setup.js\");\n default:\n return null;\n }\n}\n\nexport async function printHelp(positionals: string[]): Promise<void> {\n const module = positionals[0];\n const loaded = module ? await loadModule(module) : null;\n\n if (loaded === null) {\n outputLine(GLOBAL_HELP.trim());\n return;\n }\n\n const action = positionals[1];\n if (action && loaded.ACTION_HELP && action in loaded.ACTION_HELP) {\n const helpText = loaded.ACTION_HELP[action].trim();\n const hint = \"(💡 Run 'bithumb --help' for a list of global options.)\";\n const withHint = helpText.replace(/\\nExamples:/, `\\n${hint}\\n\\nExamples:`);\n outputLine(withHint);\n return;\n }\n\n outputLine(loaded.MODULE_HELP.trim());\n}\n","import {\n loadConfig,\n BithumbRestClient,\n createToolRunner,\n TradeLogger,\n checkForUpdates,\n runSetup,\n printSetupUsage,\n SUPPORTED_CLIENTS,\n} from \"@bithumb-official/bithumb-core\";\nimport type { ToolRunner, ClientId } from \"@bithumb-official/bithumb-core\";\nimport { parseCli } from \"./parser.js\";\nimport type { CliValues } from \"./parser.js\";\nimport { outputLine, errorLine } from \"./formatter.js\";\nimport { printHelp } from \"./help/index.js\";\nimport { CLI_VERSION } from \"./constants.js\";\n\nfunction wrapRunnerWithLogger(\n baseRunner: ToolRunner,\n logger: TradeLogger,\n): ToolRunner {\n return async (toolName, args) => {\n const start = Date.now();\n try {\n const result = await baseRunner(toolName, args);\n logger.logTool(\"info\", toolName, args, { status: \"ok\" }, Date.now() - start);\n return result;\n } catch (error) {\n logger.logTool(\"error\", toolName, args, error, Date.now() - start);\n throw error;\n }\n };\n}\n\nfunction handleSetup(argv: string[]): void {\n const idx = argv.indexOf(\"setup\");\n const rest = argv.slice(idx + 1);\n\n let client: string | undefined;\n let profile: string | undefined;\n let modules: string | undefined;\n\n for (let i = 0; i < rest.length; i++) {\n if (rest[i] === \"--client\" && rest[i + 1]) {\n client = rest[++i];\n } else if (rest[i] === \"--profile\" && rest[i + 1]) {\n profile = rest[++i];\n } else if (rest[i] === \"--modules\" && rest[i + 1]) {\n modules = rest[++i];\n } else if (rest[i] === \"--help\" || rest[i] === \"-h\") {\n printSetupUsage();\n return;\n }\n }\n\n if (!client || !SUPPORTED_CLIENTS.includes(client as ClientId)) {\n errorLine(`Error: --client is required. Supported: ${SUPPORTED_CLIENTS.join(\", \")}`);\n process.exitCode = 1;\n return;\n }\n\n runSetup({ client: client as ClientId, profile, modules });\n}\n\nasync function main(): Promise<void> {\n checkForUpdates(\"@bithumb-tradekit/cli\", CLI_VERSION);\n\n // 1. Setup subcommand (before parseCli)\n if (process.argv[2] === \"setup\") {\n handleSetup(process.argv);\n return;\n }\n\n // 2. Parse arguments\n const { values: v, positionals } = parseCli(process.argv.slice(2));\n\n if (v.version) {\n outputLine(CLI_VERSION);\n return;\n }\n\n if (v.help || positionals.length === 0) {\n await printHelp(positionals);\n return;\n }\n\n const [module, action, ...rest] = positionals;\n const json = v.json ?? false;\n\n // 3. Config command (no auth needed, no runner needed)\n if (module === \"config\") {\n const { handleConfigCommand } = await import(\"./commands/config.js\");\n return handleConfigCommand(action, rest, v);\n }\n\n // 4. Load config + create runner\n const config = loadConfig({\n modules: v.modules,\n readOnly: v.readOnly,\n verbose: v.verbose,\n profile: v.profile,\n clientType: \"cli\",\n });\n const client = new BithumbRestClient(config);\n const baseRunner = createToolRunner(client, config);\n const logger = new TradeLogger(v.verbose ? \"debug\" : \"info\");\n const run = wrapRunnerWithLogger(baseRunner, logger);\n\n // 5. System module (no auth needed) — capabilities + diagnose + audit\n if (module === \"system\") {\n const { handleSystemCommand } = await import(\"./commands/system.js\");\n return handleSystemCommand(run, action, v, json);\n }\n\n // 6. Private API auth guard\n const privateModules = new Set([\"account\", \"trade\", \"twap\", \"withdraw\", \"deposit\"]);\n if (privateModules.has(module) && !config.hasAuth) {\n errorLine(\n \"Error: API credentials required. Run 'bithumb setup' or configure ~/.bithumb/config.toml\",\n );\n process.exitCode = 1;\n return;\n }\n\n // 7. Module routing\n if (module === \"market\") {\n const { handleMarketCommand } = await import(\"./commands/market.js\");\n return handleMarketCommand(run, action, rest, v, json);\n }\n if (module === \"account\") {\n const { handleAccountCommand } = await import(\"./commands/account.js\");\n return handleAccountCommand(run, action, v, json);\n }\n if (module === \"trade\") {\n const { handleTradeCommand } = await import(\"./commands/trade.js\");\n return handleTradeCommand(run, action, v, json);\n }\n if (module === \"twap\") {\n const { handleTwapCommand } = await import(\"./commands/twap.js\");\n return handleTwapCommand(run, action, v, json);\n }\n if (module === \"withdraw\") {\n const { handleWithdrawCommand } = await import(\"./commands/withdraw.js\");\n return handleWithdrawCommand(run, action, v, json);\n }\n if (module === \"deposit\") {\n const { handleDepositCommand } = await import(\"./commands/deposit.js\");\n return handleDepositCommand(run, action, v, json);\n }\n\n errorLine(`Unknown command: ${module}. Run 'bithumb --help' for usage.`);\n process.exitCode = 1;\n}\n\nmain().catch((err) => {\n errorLine(`Fatal: ${err instanceof Error ? err.message : String(err)}`);\n process.exitCode = 1;\n});\n"],"mappings":"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","names":[]}
@@ -0,0 +1,219 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/help/market.ts
4
+ var MODULE_HELP = `
5
+ Usage: bithumb market <command> [options]
6
+
7
+ Commands:
8
+ markets List all available markets
9
+ ticker Get ticker for market(s) (comma-separated)
10
+ orderbook Get orderbook for market(s) (comma-separated)
11
+ trades Get recent trades
12
+ candles-minutes Get minute candles
13
+ candles-days Get daily candles
14
+ candles-weeks Get weekly candles
15
+ candles-months Get monthly candles
16
+ warnings Get virtual asset warning markets
17
+ notices Get notice list
18
+ fee-inout Get deposit/withdrawal fees
19
+
20
+ Run bithumb market <command> --help for command-specific options.
21
+
22
+ Examples:
23
+ bithumb market markets
24
+ bithumb market ticker KRW-BTC
25
+ bithumb market orderbook KRW-BTC --json
26
+ bithumb market candles-minutes KRW-BTC --unit 5 --count 10
27
+ `;
28
+ var MARKETS_HELP = `
29
+ Usage: bithumb market markets [options]
30
+
31
+ List all available markets on Bithumb.
32
+
33
+ Required:
34
+ (none)
35
+
36
+ Options:
37
+ --is-details Include detailed market info (default: false)
38
+
39
+ Examples:
40
+ bithumb market markets
41
+ bithumb market markets --is-details --json
42
+ `;
43
+ var TICKER_HELP = `
44
+ Usage: bithumb market ticker <market> [options]
45
+
46
+ Get ticker (current price snapshot) for one or more markets.
47
+
48
+ Required:
49
+ <market> Market identifier(s), comma-separated (e.g., KRW-BTC or KRW-BTC,KRW-ETH)
50
+
51
+ Options:
52
+ (none)
53
+
54
+ Examples:
55
+ bithumb market ticker KRW-BTC
56
+ bithumb market ticker KRW-BTC,KRW-ETH --json
57
+ `;
58
+ var ORDERBOOK_HELP = `
59
+ Usage: bithumb market orderbook <market> [options]
60
+
61
+ Get orderbook (bid/ask depth) for one or more markets.
62
+
63
+ Required:
64
+ <market> Market identifier(s), comma-separated (e.g., KRW-BTC or KRW-BTC,KRW-ETH)
65
+
66
+ Options:
67
+ (none)
68
+
69
+ Examples:
70
+ bithumb market orderbook KRW-BTC
71
+ bithumb market orderbook KRW-BTC,KRW-ETH --json
72
+ `;
73
+ var TRADES_HELP = `
74
+ Usage: bithumb market trades <market> [options]
75
+
76
+ Get recent trades (tick history) for a market.
77
+
78
+ Required:
79
+ <market> Market identifier (e.g., KRW-BTC)
80
+
81
+ Options:
82
+ --count <n> Number of results to return (default: 1)
83
+ --to <datetime> Fetch trades before this time (KST), exclusive (e.g. 2026-01-01T00:00:00)
84
+ --cursor <cursor> Pagination cursor
85
+ --days-ago <n> Filter trades by days ago
86
+
87
+ Examples:
88
+ bithumb market trades KRW-BTC --count 50
89
+ bithumb market trades KRW-BTC --days-ago 1
90
+ `;
91
+ var CANDLES_MINUTES_HELP = `
92
+ Usage: bithumb market candles-minutes <market> [options]
93
+
94
+ Get minute-level candles for a market.
95
+
96
+ Required:
97
+ <market> Market identifier (e.g., KRW-BTC)
98
+
99
+ Options:
100
+ --unit <n> Minute unit (allowed values: 1, 3, 5, 10, 15, 30, 60, 240) (default: 1)
101
+ --count <n> Number of candles to return (default: 1)
102
+ --to <datetime> Fetch candles before this time (KST), exclusive (e.g. 2026-01-01T00:00:00)
103
+
104
+ Examples:
105
+ bithumb market candles-minutes KRW-BTC --unit 5 --count 10
106
+ bithumb market candles-minutes KRW-BTC --unit 60 --count 24
107
+ `;
108
+ var CANDLES_DAYS_HELP = `
109
+ Usage: bithumb market candles-days <market> [options]
110
+
111
+ Get daily candles for a market.
112
+
113
+ Required:
114
+ <market> Market identifier (e.g., KRW-BTC)
115
+
116
+ Options:
117
+ --count <n> Number of candles to return (default: 1)
118
+ --to <datetime> Fetch candles before this time (KST), exclusive (e.g. 2026-01-01T00:00:00)
119
+ --converting-price-unit <unit> Converting price unit (e.g., KRW)
120
+
121
+ Examples:
122
+ bithumb market candles-days KRW-BTC --count 30
123
+ bithumb market candles-days KRW-BTC --converting-price-unit KRW
124
+ `;
125
+ var CANDLES_WEEKS_HELP = `
126
+ Usage: bithumb market candles-weeks <market> [options]
127
+
128
+ Get weekly candles for a market.
129
+
130
+ Required:
131
+ <market> Market identifier (e.g., KRW-BTC)
132
+
133
+ Options:
134
+ --count <n> Number of candles to return (default: 1)
135
+ --to <datetime> Fetch candles before this time (KST), exclusive (e.g. 2026-01-01T00:00:00)
136
+
137
+ Examples:
138
+ bithumb market candles-weeks KRW-BTC --count 12
139
+ bithumb market candles-weeks KRW-BTC --to 2026-01-01T00:00:00
140
+ `;
141
+ var CANDLES_MONTHS_HELP = `
142
+ Usage: bithumb market candles-months <market> [options]
143
+
144
+ Get monthly candles for a market.
145
+
146
+ Required:
147
+ <market> Market identifier (e.g., KRW-BTC)
148
+
149
+ Options:
150
+ --count <n> Number of candles to return (default: 1)
151
+ --to <datetime> Fetch candles before this time (KST), exclusive (e.g. 2026-01-01T00:00:00)
152
+
153
+ Examples:
154
+ bithumb market candles-months KRW-BTC --count 12
155
+ bithumb market candles-months KRW-BTC --to 2026-01-01T00:00:00
156
+ `;
157
+ var WARNINGS_HELP = `
158
+ Usage: bithumb market warnings [options]
159
+
160
+ Get the list of virtual asset warning markets (caution-flagged).
161
+
162
+ Required:
163
+ (none)
164
+
165
+ Options:
166
+ (none)
167
+
168
+ Examples:
169
+ bithumb market warnings
170
+ bithumb market warnings --json
171
+ `;
172
+ var NOTICES_HELP = `
173
+ Usage: bithumb market notices [options]
174
+
175
+ Get the list of exchange notices.
176
+
177
+ Required:
178
+ (none)
179
+
180
+ Options:
181
+ --count <n> Number of notices to return (default: 5)
182
+
183
+ Examples:
184
+ bithumb market notices
185
+ bithumb market notices --count 20
186
+ `;
187
+ var FEE_INOUT_HELP = `
188
+ Usage: bithumb market fee-inout <currency> [options]
189
+
190
+ Get deposit/withdrawal fee information for a currency.
191
+
192
+ Required:
193
+ <currency> Currency code (e.g., BTC, ETH)
194
+
195
+ Options:
196
+ (none)
197
+
198
+ Examples:
199
+ bithumb market fee-inout BTC
200
+ bithumb market fee-inout ETH --json
201
+ `;
202
+ var ACTION_HELP = {
203
+ markets: MARKETS_HELP,
204
+ ticker: TICKER_HELP,
205
+ orderbook: ORDERBOOK_HELP,
206
+ trades: TRADES_HELP,
207
+ "candles-minutes": CANDLES_MINUTES_HELP,
208
+ "candles-days": CANDLES_DAYS_HELP,
209
+ "candles-weeks": CANDLES_WEEKS_HELP,
210
+ "candles-months": CANDLES_MONTHS_HELP,
211
+ warnings: WARNINGS_HELP,
212
+ notices: NOTICES_HELP,
213
+ "fee-inout": FEE_INOUT_HELP
214
+ };
215
+ export {
216
+ ACTION_HELP,
217
+ MODULE_HELP
218
+ };
219
+ //# sourceMappingURL=market-EEF3KI4T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/help/market.ts"],"sourcesContent":["export const MODULE_HELP = `\nUsage: bithumb market <command> [options]\n\nCommands:\n markets List all available markets\n ticker Get ticker for market(s) (comma-separated)\n orderbook Get orderbook for market(s) (comma-separated)\n trades Get recent trades\n candles-minutes Get minute candles\n candles-days Get daily candles\n candles-weeks Get weekly candles\n candles-months Get monthly candles\n warnings Get virtual asset warning markets\n notices Get notice list\n fee-inout Get deposit/withdrawal fees\n\nRun bithumb market <command> --help for command-specific options.\n\nExamples:\n bithumb market markets\n bithumb market ticker KRW-BTC\n bithumb market orderbook KRW-BTC --json\n bithumb market candles-minutes KRW-BTC --unit 5 --count 10\n`;\n\nconst MARKETS_HELP = `\nUsage: bithumb market markets [options]\n\nList all available markets on Bithumb.\n\nRequired:\n (none)\n\nOptions:\n --is-details Include detailed market info (default: false)\n\nExamples:\n bithumb market markets\n bithumb market markets --is-details --json\n`;\n\nconst TICKER_HELP = `\nUsage: bithumb market ticker <market> [options]\n\nGet ticker (current price snapshot) for one or more markets.\n\nRequired:\n <market> Market identifier(s), comma-separated (e.g., KRW-BTC or KRW-BTC,KRW-ETH)\n\nOptions:\n (none)\n\nExamples:\n bithumb market ticker KRW-BTC\n bithumb market ticker KRW-BTC,KRW-ETH --json\n`;\n\nconst ORDERBOOK_HELP = `\nUsage: bithumb market orderbook <market> [options]\n\nGet orderbook (bid/ask depth) for one or more markets.\n\nRequired:\n <market> Market identifier(s), comma-separated (e.g., KRW-BTC or KRW-BTC,KRW-ETH)\n\nOptions:\n (none)\n\nExamples:\n bithumb market orderbook KRW-BTC\n bithumb market orderbook KRW-BTC,KRW-ETH --json\n`;\n\nconst TRADES_HELP = `\nUsage: bithumb market trades <market> [options]\n\nGet recent trades (tick history) for a market.\n\nRequired:\n <market> Market identifier (e.g., KRW-BTC)\n\nOptions:\n --count <n> Number of results to return (default: 1)\n --to <datetime> Fetch trades before this time (KST), exclusive (e.g. 2026-01-01T00:00:00)\n --cursor <cursor> Pagination cursor\n --days-ago <n> Filter trades by days ago\n\nExamples:\n bithumb market trades KRW-BTC --count 50\n bithumb market trades KRW-BTC --days-ago 1\n`;\n\nconst CANDLES_MINUTES_HELP = `\nUsage: bithumb market candles-minutes <market> [options]\n\nGet minute-level candles for a market.\n\nRequired:\n <market> Market identifier (e.g., KRW-BTC)\n\nOptions:\n --unit <n> Minute unit (allowed values: 1, 3, 5, 10, 15, 30, 60, 240) (default: 1)\n --count <n> Number of candles to return (default: 1)\n --to <datetime> Fetch candles before this time (KST), exclusive (e.g. 2026-01-01T00:00:00)\n\nExamples:\n bithumb market candles-minutes KRW-BTC --unit 5 --count 10\n bithumb market candles-minutes KRW-BTC --unit 60 --count 24\n`;\n\nconst CANDLES_DAYS_HELP = `\nUsage: bithumb market candles-days <market> [options]\n\nGet daily candles for a market.\n\nRequired:\n <market> Market identifier (e.g., KRW-BTC)\n\nOptions:\n --count <n> Number of candles to return (default: 1)\n --to <datetime> Fetch candles before this time (KST), exclusive (e.g. 2026-01-01T00:00:00)\n --converting-price-unit <unit> Converting price unit (e.g., KRW)\n\nExamples:\n bithumb market candles-days KRW-BTC --count 30\n bithumb market candles-days KRW-BTC --converting-price-unit KRW\n`;\n\nconst CANDLES_WEEKS_HELP = `\nUsage: bithumb market candles-weeks <market> [options]\n\nGet weekly candles for a market.\n\nRequired:\n <market> Market identifier (e.g., KRW-BTC)\n\nOptions:\n --count <n> Number of candles to return (default: 1)\n --to <datetime> Fetch candles before this time (KST), exclusive (e.g. 2026-01-01T00:00:00)\n\nExamples:\n bithumb market candles-weeks KRW-BTC --count 12\n bithumb market candles-weeks KRW-BTC --to 2026-01-01T00:00:00\n`;\n\nconst CANDLES_MONTHS_HELP = `\nUsage: bithumb market candles-months <market> [options]\n\nGet monthly candles for a market.\n\nRequired:\n <market> Market identifier (e.g., KRW-BTC)\n\nOptions:\n --count <n> Number of candles to return (default: 1)\n --to <datetime> Fetch candles before this time (KST), exclusive (e.g. 2026-01-01T00:00:00)\n\nExamples:\n bithumb market candles-months KRW-BTC --count 12\n bithumb market candles-months KRW-BTC --to 2026-01-01T00:00:00\n`;\n\nconst WARNINGS_HELP = `\nUsage: bithumb market warnings [options]\n\nGet the list of virtual asset warning markets (caution-flagged).\n\nRequired:\n (none)\n\nOptions:\n (none)\n\nExamples:\n bithumb market warnings\n bithumb market warnings --json\n`;\n\nconst NOTICES_HELP = `\nUsage: bithumb market notices [options]\n\nGet the list of exchange notices.\n\nRequired:\n (none)\n\nOptions:\n --count <n> Number of notices to return (default: 5)\n\nExamples:\n bithumb market notices\n bithumb market notices --count 20\n`;\n\nconst FEE_INOUT_HELP = `\nUsage: bithumb market fee-inout <currency> [options]\n\nGet deposit/withdrawal fee information for a currency.\n\nRequired:\n <currency> Currency code (e.g., BTC, ETH)\n\nOptions:\n (none)\n\nExamples:\n bithumb market fee-inout BTC\n bithumb market fee-inout ETH --json\n`;\n\nexport const ACTION_HELP: Record<string, string> = {\n markets: MARKETS_HELP,\n ticker: TICKER_HELP,\n orderbook: ORDERBOOK_HELP,\n trades: TRADES_HELP,\n \"candles-minutes\": CANDLES_MINUTES_HELP,\n \"candles-days\": CANDLES_DAYS_HELP,\n \"candles-weeks\": CANDLES_WEEKS_HELP,\n \"candles-months\": CANDLES_MONTHS_HELP,\n warnings: WARNINGS_HELP,\n notices: NOTICES_HELP,\n \"fee-inout\": FEE_INOUT_HELP,\n};\n"],"mappings":";;;AAAO,IAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyB3B,IAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBrB,IAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBpB,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBvB,IAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBpB,IAAM,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkB7B,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkB1B,IAAM,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiB3B,IAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiB5B,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBtB,IAAM,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBrB,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBhB,IAAM,cAAsC;AAAA,EACjD,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,SAAS;AAAA,EACT,aAAa;AACf;","names":[]}