httpcat-cli 0.2.11 → 0.2.12-rc.1

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 (54) hide show
  1. package/.github/workflows/sync-version.yml +19 -3
  2. package/README.md +346 -13
  3. package/Screenshot 2025-12-21 at 8.56.02/342/200/257PM.png +0 -0
  4. package/bun.lock +8 -1
  5. package/cat-spin.sh +417 -0
  6. package/dist/agent/ax-agent.d.ts.map +1 -0
  7. package/dist/agent/ax-agent.js +459 -0
  8. package/dist/agent/ax-agent.js.map +1 -0
  9. package/dist/agent/llm-factory.d.ts.map +1 -0
  10. package/dist/agent/llm-factory.js +82 -0
  11. package/dist/agent/llm-factory.js.map +1 -0
  12. package/dist/agent/setup-wizard.d.ts.map +1 -0
  13. package/dist/agent/setup-wizard.js +114 -0
  14. package/dist/agent/setup-wizard.js.map +1 -0
  15. package/dist/agent/tools.d.ts.map +1 -0
  16. package/dist/agent/tools.js +312 -0
  17. package/dist/agent/tools.js.map +1 -0
  18. package/dist/commands/balances.d.ts.map +1 -1
  19. package/dist/commands/balances.js +43 -41
  20. package/dist/commands/balances.js.map +1 -1
  21. package/dist/commands/chat.d.ts.map +1 -1
  22. package/dist/commands/chat.js +56 -46
  23. package/dist/commands/chat.js.map +1 -1
  24. package/dist/commands/create.d.ts.map +1 -1
  25. package/dist/commands/create.js +133 -5
  26. package/dist/commands/create.js.map +1 -1
  27. package/dist/commands/positions.d.ts.map +1 -1
  28. package/dist/commands/positions.js +51 -54
  29. package/dist/commands/positions.js.map +1 -1
  30. package/dist/config.d.ts.map +1 -1
  31. package/dist/config.js +296 -20
  32. package/dist/config.js.map +1 -1
  33. package/dist/index.js +301 -13
  34. package/dist/index.js.map +1 -1
  35. package/dist/interactive/cat-spin.d.ts.map +1 -0
  36. package/dist/interactive/cat-spin.js +448 -0
  37. package/dist/interactive/cat-spin.js.map +1 -0
  38. package/dist/interactive/shell.d.ts.map +1 -1
  39. package/dist/interactive/shell.js +2001 -180
  40. package/dist/interactive/shell.js.map +1 -1
  41. package/dist/mcp/tools.d.ts.map +1 -1
  42. package/dist/mcp/tools.js +1 -6
  43. package/dist/mcp/tools.js.map +1 -1
  44. package/dist/mcp/types.d.ts.map +1 -1
  45. package/dist/utils/loading.d.ts.map +1 -1
  46. package/dist/utils/loading.js +30 -0
  47. package/dist/utils/loading.js.map +1 -1
  48. package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
  49. package/dist/utils/privateKeyPrompt.js +13 -9
  50. package/dist/utils/privateKeyPrompt.js.map +1 -1
  51. package/dist/utils/token-resolver.d.ts.map +1 -1
  52. package/dist/utils/token-resolver.js +32 -0
  53. package/dist/utils/token-resolver.js.map +1 -1
  54. package/package.json +3 -1
@@ -0,0 +1,114 @@
1
+ import inquirer from "inquirer";
2
+ import chalk from "chalk";
3
+ import { config } from "../config.js";
4
+ import { printCat } from "../interactive/art.js";
5
+ /**
6
+ * Setup wizard for AI agent API keys
7
+ * Similar pattern to privateKeyPrompt.ts with cat-themed UX
8
+ */
9
+ export async function setupAIAgentWizard() {
10
+ console.log();
11
+ // Show wizard cat
12
+ printCat("wizard");
13
+ console.log(chalk.bold.cyan("🐱 Let's set up your cat...\n"));
14
+ // Check if already configured
15
+ const existingConfig = config.getAIAgentConfig();
16
+ if (existingConfig) {
17
+ const providerName = existingConfig.provider === "openai" ? "OpenAI" : "Anthropic";
18
+ console.log(chalk.yellow("📋 Current configuration:"));
19
+ console.log(chalk.dim(` Provider: ${providerName}`));
20
+ console.log(chalk.dim(` Model: ${existingConfig.model || "default"}`));
21
+ console.log();
22
+ console.log(chalk.cyan("You can update your configuration below.\n"));
23
+ }
24
+ // Security messaging
25
+ console.log(chalk.dim("🔒 Security & Privacy:"));
26
+ console.log(chalk.dim(" • Your API keys are stored locally and encrypted"));
27
+ console.log(chalk.dim(" • They are never sent to any server except the LLM provider"));
28
+ console.log(chalk.dim(" • Stored in: "), chalk.cyan(config.getConfigPath()));
29
+ console.log();
30
+ // Ask which provider (default to existing if configured)
31
+ const providerChoice = await inquirer.prompt([
32
+ {
33
+ type: "list",
34
+ name: "provider",
35
+ message: "Which AI provider would you like to use?",
36
+ choices: [
37
+ {
38
+ name: "OpenAI (GPT-4, GPT-3.5) - Recommended",
39
+ value: "openai",
40
+ },
41
+ {
42
+ name: "Anthropic (Claude) - Great for complex tasks",
43
+ value: "anthropic",
44
+ },
45
+ ],
46
+ default: existingConfig?.provider || "openai",
47
+ },
48
+ ]);
49
+ // Helper function to validate API key format
50
+ const validateApiKey = (input, provider) => {
51
+ if (!input || input.trim().length === 0) {
52
+ return "API key is required";
53
+ }
54
+ const trimmed = input.trim();
55
+ if (provider === "openai") {
56
+ // OpenAI keys can start with "sk-" (legacy) or "sk-proj-" (newer project keys)
57
+ // Newer project keys are much longer, so we just check prefix and minimum length
58
+ if (!trimmed.startsWith("sk-") && !trimmed.startsWith("sk-proj-")) {
59
+ return "Invalid OpenAI API key format. Keys should start with 'sk-' or 'sk-proj-'";
60
+ }
61
+ if (trimmed.length < 20) {
62
+ return "Invalid OpenAI API key length. Keys should be at least 20 characters long.";
63
+ }
64
+ }
65
+ else if (provider === "anthropic") {
66
+ // Anthropic keys should start with "sk-ant-"
67
+ if (!trimmed.startsWith("sk-ant-")) {
68
+ return "Invalid Anthropic API key format. Keys should start with 'sk-ant-'";
69
+ }
70
+ if (trimmed.length < 40) {
71
+ return "Invalid Anthropic API key length. Keys should be at least 40 characters long.";
72
+ }
73
+ }
74
+ return true;
75
+ };
76
+ // Ask for API key
77
+ const apiKeyAnswer = await inquirer.prompt([
78
+ {
79
+ type: "password",
80
+ name: "apiKey",
81
+ message: `Enter your ${providerChoice.provider === "openai" ? "OpenAI" : "Anthropic"} API key:`,
82
+ mask: "•",
83
+ validate: (input) => {
84
+ return validateApiKey(input, providerChoice.provider);
85
+ },
86
+ },
87
+ ]);
88
+ // Ask for model (with defaults)
89
+ const defaultModel = providerChoice.provider === "openai" ? "gpt-4" : "claude-3-5-sonnet-20241022";
90
+ const modelAnswer = await inquirer.prompt([
91
+ {
92
+ type: "input",
93
+ name: "model",
94
+ message: `Model name [${defaultModel}]:`,
95
+ default: defaultModel,
96
+ },
97
+ ]);
98
+ // Save to config
99
+ config.setAIAgentConfig({
100
+ provider: providerChoice.provider,
101
+ apiKey: apiKeyAnswer.apiKey.trim(),
102
+ model: modelAnswer.model.trim() || defaultModel,
103
+ });
104
+ console.log();
105
+ console.log(chalk.green("✅ Cat configured successfully!"));
106
+ console.log(chalk.dim(` Provider: ${providerChoice.provider === "openai" ? "OpenAI" : "Anthropic"}`));
107
+ console.log(chalk.dim(` Model: ${modelAnswer.model.trim() || defaultModel}`));
108
+ console.log();
109
+ console.log(chalk.cyan("🐱 You can now use the cat (or 'agent') with:"));
110
+ console.log(chalk.dim(" agent \"your question here\" (or 'cat \"your question here\"')"));
111
+ console.log(chalk.dim(" agent --chat (or 'cat --chat')"));
112
+ console.log();
113
+ }
114
+ //# sourceMappingURL=setup-wizard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../../src/agent/setup-wizard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/agent/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAwE7C;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACjF,OAAO,CAAC,MAAM,CAAC,CA+GjB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,MAAM,CAAC,CA+CjB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,GAChC,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;CAAE,GAC5E,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,EAAE,GACP,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,EAAE,GACP,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
@@ -0,0 +1,312 @@
1
+ import { buyToken } from "../commands/buy.js";
2
+ import { sellToken } from "../commands/sell.js";
3
+ import { getTokenInfo } from "../commands/info.js";
4
+ import { listTokens } from "../commands/list.js";
5
+ import { getPositions } from "../commands/positions.js";
6
+ import { checkBalance } from "../commands/balances.js";
7
+ import { config } from "../config.js";
8
+ import { privateKeyToAccount } from "viem/accounts";
9
+ // Helper to get private key
10
+ function getPrivateKey() {
11
+ return config.getPrivateKey();
12
+ }
13
+ // Helper to check if test mode
14
+ function isTestMode(client) {
15
+ return client.getNetwork().includes("sepolia");
16
+ }
17
+ // Helper to safely serialize errors to strings
18
+ function serializeError(error) {
19
+ if (!error) {
20
+ return "Unknown error";
21
+ }
22
+ // If it's already a string, return it
23
+ if (typeof error === "string") {
24
+ return error;
25
+ }
26
+ // Try to get error message first (most common case)
27
+ if (error.message && typeof error.message === "string") {
28
+ return error.message;
29
+ }
30
+ // Try to stringify the error object, handling circular references
31
+ try {
32
+ // Use a replacer function to handle circular references
33
+ const seen = new WeakSet();
34
+ const serialized = JSON.stringify(error, (key, value) => {
35
+ if (typeof value === "object" && value !== null) {
36
+ if (seen.has(value)) {
37
+ return "[Circular]";
38
+ }
39
+ seen.add(value);
40
+ }
41
+ return value;
42
+ });
43
+ // If we got something meaningful, return it
44
+ if (serialized && serialized !== "{}" && serialized !== "null") {
45
+ return serialized;
46
+ }
47
+ }
48
+ catch {
49
+ // JSON.stringify failed, fall through to toString
50
+ }
51
+ // Last resort: try toString
52
+ try {
53
+ const str = String(error);
54
+ if (str && str !== "[object Object]") {
55
+ return str;
56
+ }
57
+ }
58
+ catch {
59
+ // toString also failed
60
+ }
61
+ // Final fallback
62
+ return "An error occurred (unable to serialize error details)";
63
+ }
64
+ /**
65
+ * Tool: Buy tokens
66
+ * Args: { tokenIdentifier: string, amount: string, repeat?: number, delay?: number }
67
+ */
68
+ export async function toolBuyToken(client, args) {
69
+ try {
70
+ // Validate required arguments
71
+ if (!args || typeof args !== "object") {
72
+ return JSON.stringify({
73
+ success: false,
74
+ error: "Invalid arguments: args must be an object",
75
+ });
76
+ }
77
+ if (!args.tokenIdentifier || typeof args.tokenIdentifier !== "string") {
78
+ return JSON.stringify({
79
+ success: false,
80
+ error: "Invalid arguments: tokenIdentifier is required and must be a string",
81
+ });
82
+ }
83
+ if (!args.amount || typeof args.amount !== "string") {
84
+ return JSON.stringify({
85
+ success: false,
86
+ error: "Invalid arguments: amount is required and must be a string",
87
+ });
88
+ }
89
+ const privateKey = getPrivateKey();
90
+ const isTest = isTestMode(client);
91
+ // Handle repeat mode
92
+ if (args.repeat && args.repeat > 1) {
93
+ const results = [];
94
+ let totalSpent = 0;
95
+ let stoppedEarly = false;
96
+ let stopReason = "";
97
+ for (let i = 1; i <= args.repeat; i++) {
98
+ try {
99
+ const result = await buyToken(client, args.tokenIdentifier, args.amount, isTest, true, // silent
100
+ privateKey);
101
+ results.push(result);
102
+ totalSpent += parseFloat(result.amountSpent);
103
+ // Check if token graduated
104
+ if (result.graduationReached) {
105
+ stoppedEarly = true;
106
+ stopReason = "Token graduated";
107
+ break;
108
+ }
109
+ // Apply delay between iterations (except after the last one)
110
+ if (i < args.repeat && args.delay && args.delay > 0) {
111
+ await new Promise((resolve) => setTimeout(resolve, args.delay));
112
+ }
113
+ }
114
+ catch (error) {
115
+ // Handle insufficient funds gracefully
116
+ const errorMsg = serializeError(error);
117
+ if (errorMsg.includes("402") || errorMsg.includes("Insufficient")) {
118
+ stoppedEarly = true;
119
+ stopReason = "Insufficient funds";
120
+ break;
121
+ }
122
+ throw error;
123
+ }
124
+ }
125
+ const lastResult = results[results.length - 1];
126
+ return JSON.stringify({
127
+ success: true,
128
+ totalBuys: results.length,
129
+ requestedBuys: args.repeat,
130
+ totalSpent: totalSpent.toFixed(2),
131
+ tokensReceived: lastResult.tokensReceived,
132
+ newPrice: lastResult.newPrice,
133
+ graduationProgress: lastResult.graduationProgress,
134
+ graduationReached: lastResult.graduationReached,
135
+ stoppedEarly,
136
+ stopReason: stoppedEarly ? stopReason : undefined,
137
+ });
138
+ }
139
+ else {
140
+ // Single buy
141
+ const result = await buyToken(client, args.tokenIdentifier, args.amount, isTest, true, // silent
142
+ privateKey);
143
+ return JSON.stringify({
144
+ success: true,
145
+ tokensReceived: result.tokensReceived,
146
+ amountSpent: result.amountSpent,
147
+ newPrice: result.newPrice,
148
+ graduationProgress: result.graduationProgress,
149
+ graduationReached: result.graduationReached,
150
+ txHash: result.txHash,
151
+ });
152
+ }
153
+ }
154
+ catch (error) {
155
+ return JSON.stringify({
156
+ success: false,
157
+ error: serializeError(error),
158
+ });
159
+ }
160
+ }
161
+ /**
162
+ * Tool: Sell tokens
163
+ * Args: { tokenIdentifier: string, amount: string | number | "all" }
164
+ */
165
+ export async function toolSellToken(client, args) {
166
+ try {
167
+ // Validate required arguments
168
+ if (!args || typeof args !== "object") {
169
+ return JSON.stringify({
170
+ success: false,
171
+ error: "Invalid arguments: args must be an object",
172
+ });
173
+ }
174
+ if (!args.tokenIdentifier || typeof args.tokenIdentifier !== "string") {
175
+ return JSON.stringify({
176
+ success: false,
177
+ error: "Invalid arguments: tokenIdentifier is required and must be a string",
178
+ });
179
+ }
180
+ if (!args.amount || typeof args.amount !== "string") {
181
+ return JSON.stringify({
182
+ success: false,
183
+ error: "Invalid arguments: amount is required and must be a string",
184
+ });
185
+ }
186
+ const privateKey = getPrivateKey();
187
+ const result = await sellToken(client, args.tokenIdentifier, args.amount, true, // silent
188
+ privateKey);
189
+ return JSON.stringify({
190
+ success: true,
191
+ tokensSold: result.tokensSold,
192
+ usdcReceived: result.usdcReceived,
193
+ newPrice: result.newPrice,
194
+ txHash: result.txHash,
195
+ });
196
+ }
197
+ catch (error) {
198
+ return JSON.stringify({
199
+ success: false,
200
+ error: serializeError(error),
201
+ });
202
+ }
203
+ }
204
+ /**
205
+ * Tool: Get token info
206
+ * Args: { tokenIdentifier: string }
207
+ */
208
+ export async function toolGetTokenInfo(client, args) {
209
+ try {
210
+ // Validate required arguments
211
+ if (!args || typeof args !== "object") {
212
+ return JSON.stringify({
213
+ success: false,
214
+ error: "Invalid arguments: args must be an object",
215
+ });
216
+ }
217
+ if (!args.tokenIdentifier || typeof args.tokenIdentifier !== "string") {
218
+ return JSON.stringify({
219
+ success: false,
220
+ error: "Invalid arguments: tokenIdentifier is required and must be a string",
221
+ });
222
+ }
223
+ const account = privateKeyToAccount(getPrivateKey());
224
+ const info = await getTokenInfo(client, args.tokenIdentifier, account.address, true);
225
+ return JSON.stringify({
226
+ success: true,
227
+ name: info.name,
228
+ symbol: info.symbol,
229
+ address: info.address,
230
+ status: info.status,
231
+ price: info.price,
232
+ mcap: info.mcap,
233
+ graduationProgress: info.graduationProgress,
234
+ totalSupply: info.totalSupply,
235
+ userPosition: info.userPosition,
236
+ });
237
+ }
238
+ catch (error) {
239
+ return JSON.stringify({
240
+ success: false,
241
+ error: serializeError(error),
242
+ });
243
+ }
244
+ }
245
+ /**
246
+ * Tool: List tokens
247
+ * Args: { page?: number, limit?: number, sortBy?: "mcap" | "created" | "name" }
248
+ */
249
+ export async function toolListTokens(client, args) {
250
+ try {
251
+ const result = await listTokens(client, args.page || 1, args.limit || 20, args.sortBy || "mcap");
252
+ return JSON.stringify({
253
+ success: true,
254
+ tokens: result.tokens,
255
+ total: result.total,
256
+ page: result.page,
257
+ pages: result.pages,
258
+ });
259
+ }
260
+ catch (error) {
261
+ return JSON.stringify({
262
+ success: false,
263
+ error: serializeError(error),
264
+ });
265
+ }
266
+ }
267
+ /**
268
+ * Tool: Get positions
269
+ * Args: {}
270
+ */
271
+ export async function toolGetPositions(client, args) {
272
+ try {
273
+ const account = privateKeyToAccount(getPrivateKey());
274
+ const result = await getPositions(client, account.address);
275
+ return JSON.stringify({
276
+ success: true,
277
+ positions: result.positions,
278
+ total: result.total,
279
+ summary: result.summary,
280
+ });
281
+ }
282
+ catch (error) {
283
+ return JSON.stringify({
284
+ success: false,
285
+ error: serializeError(error),
286
+ });
287
+ }
288
+ }
289
+ /**
290
+ * Tool: Check balance
291
+ * Args: {}
292
+ */
293
+ export async function toolCheckBalance(client, args) {
294
+ try {
295
+ const balance = await checkBalance(getPrivateKey(), true);
296
+ return JSON.stringify({
297
+ success: true,
298
+ ethBalance: balance.ethBalance,
299
+ usdcBalance: balance.usdcBalance,
300
+ address: balance.address,
301
+ ethFormatted: balance.ethFormatted,
302
+ usdcFormatted: balance.usdcFormatted,
303
+ });
304
+ }
305
+ catch (error) {
306
+ return JSON.stringify({
307
+ success: false,
308
+ error: serializeError(error),
309
+ });
310
+ }
311
+ }
312
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/agent/tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"balances.d.ts","sourceRoot":"","sources":["../../src/commands/balances.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAUhC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAyKzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAGzD"}
1
+ {"version":3,"file":"balances.d.ts","sourceRoot":"","sources":["../../src/commands/balances.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAUhC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CA2KlG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAGzD"}
@@ -11,7 +11,7 @@ import { config } from "../config.js";
11
11
  * Checks and displays wallet balances for a given private key.
12
12
  * This mimics the behavior of promptForPrivateKey but without saving to config.
13
13
  */
14
- export async function checkBalance(privateKey) {
14
+ export async function checkBalance(privateKey, silent = false) {
15
15
  let pk = privateKey;
16
16
  // If no private key provided, prompt for it (same as other commands)
17
17
  if (!pk) {
@@ -99,50 +99,52 @@ export async function checkBalance(privateKey) {
99
99
  console.warn("Failed to fetch 402CAT balance:", error);
100
100
  }
101
101
  }
102
- // Display balances in a clean, aligned format
103
- console.log();
104
- printCat("wizard");
105
- console.log(chalk.bold.cyan("💰 Wallet Balances"));
106
- console.log(chalk.dim("─".repeat(50)));
107
- console.log();
108
- // Format ETH with consistent alignment
109
- const ethLabel = "ETH:".padEnd(8);
110
- console.log(` ${chalk.dim(ethLabel)}${chalk.yellow(ethFormatted.padStart(25))} ${chalk.dim("ETH")}`);
111
- // Format USDC with consistent alignment
112
- const usdcLabel = "USDC:".padEnd(8);
113
- console.log(` ${chalk.dim(usdcLabel)}${chalk.green(`$${usdcFormatted}`.padStart(25))} ${chalk.dim("USDC")}`);
114
- // Format 402CAT if fetched
115
- if (cat402Fetched) {
116
- const catLabel = "CAT:".padEnd(8);
117
- // Format the 402CAT amount to a reasonable precision
118
- const catFormattedClean = parseFloat(cat402Formatted).toLocaleString('en-US', {
119
- maximumFractionDigits: 4,
120
- minimumFractionDigits: 0
121
- });
122
- console.log(` ${chalk.dim(catLabel)}${chalk.cyan(catFormattedClean.padStart(25))} ${chalk.dim("CAT")}`);
123
- }
124
- console.log();
125
- console.log(chalk.dim(` Wallet: ${formatAddress(address, 12)}`));
126
- console.log();
127
- // Show warnings if balances are low
128
- const ethNum = Number(ethFormatted);
129
- const usdcNum = Number(usdcFormatted);
130
- if (ethNum < 0.001 && usdcNum < 1) {
131
- console.log();
132
- printWarning("Low balances detected!");
133
- console.log(chalk.dim(" You need Base Sepolia ETH for gas fees"));
134
- console.log(chalk.dim(" You need Base Sepolia USDC for trading"));
102
+ // Display balances in a clean, aligned format (only if not silent)
103
+ if (!silent) {
135
104
  console.log();
136
- }
137
- else if (ethNum < 0.001) {
105
+ printCat("wizard");
106
+ console.log(chalk.bold.cyan("💰 Wallet Balances"));
107
+ console.log(chalk.dim("─".repeat(50)));
138
108
  console.log();
139
- printWarning("Low ETH balance - you may not have enough for gas fees");
140
- console.log();
141
- }
142
- else if (usdcNum < 1) {
109
+ // Format ETH with consistent alignment
110
+ const ethLabel = "ETH:".padEnd(8);
111
+ console.log(` ${chalk.dim(ethLabel)}${chalk.yellow(ethFormatted.padStart(25))} ${chalk.dim("ETH")}`);
112
+ // Format USDC with consistent alignment
113
+ const usdcLabel = "USDC:".padEnd(8);
114
+ console.log(` ${chalk.dim(usdcLabel)}${chalk.green(`$${usdcFormatted}`.padStart(25))} ${chalk.dim("USDC")}`);
115
+ // Format 402CAT if fetched
116
+ if (cat402Fetched) {
117
+ const catLabel = "CAT:".padEnd(8);
118
+ // Format the 402CAT amount to a reasonable precision
119
+ const catFormattedClean = parseFloat(cat402Formatted).toLocaleString('en-US', {
120
+ maximumFractionDigits: 4,
121
+ minimumFractionDigits: 0
122
+ });
123
+ console.log(` ${chalk.dim(catLabel)}${chalk.cyan(catFormattedClean.padStart(25))} ${chalk.dim("CAT")}`);
124
+ }
143
125
  console.log();
144
- printWarning("Low USDC balance - you may not have enough for trades");
126
+ console.log(chalk.dim(` Wallet: ${formatAddress(address, 12)}`));
145
127
  console.log();
128
+ // Show warnings if balances are low
129
+ const ethNum = Number(ethFormatted);
130
+ const usdcNum = Number(usdcFormatted);
131
+ if (ethNum < 0.001 && usdcNum < 1) {
132
+ console.log();
133
+ printWarning("Low balances detected!");
134
+ console.log(chalk.dim(" You need Base Sepolia ETH for gas fees"));
135
+ console.log(chalk.dim(" You need Base Sepolia USDC for trading"));
136
+ console.log();
137
+ }
138
+ else if (ethNum < 0.001) {
139
+ console.log();
140
+ printWarning("Low ETH balance - you may not have enough for gas fees");
141
+ console.log();
142
+ }
143
+ else if (usdcNum < 1) {
144
+ console.log();
145
+ printWarning("Low USDC balance - you may not have enough for trades");
146
+ console.log();
147
+ }
146
148
  }
147
149
  return {
148
150
  address,
@@ -1 +1 @@
1
- {"version":3,"file":"balances.js","sourceRoot":"","sources":["../../src/commands/balances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balances.js","sourceRoot":"","sources":["../../src/commands/balances.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAW7C,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,OAAO,CAAC;IAC5C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAaD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkC7E;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,cAAc,CAAC,CAoCzB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAa5B;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CAS/B;AAgND,wBAAsB,eAAe,CACnC,MAAM,EAAE,aAAa,EACrB,QAAQ,GAAE,OAAe,EACzB,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,GAAE,MAAM,GAAG,aAAsB,GAC3C,OAAO,CAAC,IAAI,CAAC,CA04Cf;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAQjE"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/commands/chat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAe7C,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,OAAO,CAAC;IAC5C,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAaD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkC7E;AAED,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,MAAM,EACxB,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,cAAc,CAAC,CAwCzB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAa5B;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CAW/B;AAwND,wBAAsB,eAAe,CACnC,MAAM,EAAE,aAAa,EACrB,QAAQ,GAAE,OAAe,EACzB,eAAe,CAAC,EAAE,MAAM,EACxB,WAAW,GAAE,MAAM,GAAG,aAAsB,GAC3C,OAAO,CAAC,IAAI,CAAC,CA0jDf;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAQjE"}