httpcat-cli 0.2.13 → 0.3.0-rc.10

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 (209) hide show
  1. package/.github/workflows/release.yml +96 -0
  2. package/.github/workflows/sync-version.yml +31 -2
  3. package/README.md +191 -68
  4. package/additions.txt +3 -0
  5. package/bun.lock +205 -1265
  6. package/dist/agent/autonomous-trader.d.ts.map +1 -0
  7. package/dist/agent/autonomous-trader.js +362 -0
  8. package/dist/agent/autonomous-trader.js.map +1 -0
  9. package/dist/agent/ax-agent.d.ts.map +1 -1
  10. package/dist/agent/ax-agent.js +293 -18
  11. package/dist/agent/ax-agent.js.map +1 -1
  12. package/dist/agent/event-client.d.ts.map +1 -0
  13. package/dist/agent/event-client.js +82 -0
  14. package/dist/agent/event-client.js.map +1 -0
  15. package/dist/agent/log-stream.d.ts.map +1 -0
  16. package/dist/agent/log-stream.js +95 -0
  17. package/dist/agent/log-stream.js.map +1 -0
  18. package/dist/agent/memory/conversation-session.d.ts.map +1 -0
  19. package/dist/agent/memory/conversation-session.js +232 -0
  20. package/dist/agent/memory/conversation-session.js.map +1 -0
  21. package/dist/agent/memory/conversation-store.d.ts.map +1 -0
  22. package/dist/agent/memory/conversation-store.js +214 -0
  23. package/dist/agent/memory/conversation-store.js.map +1 -0
  24. package/dist/agent/memory/database-schema.d.ts.map +1 -0
  25. package/dist/agent/memory/database-schema.js +355 -0
  26. package/dist/agent/memory/database-schema.js.map +1 -0
  27. package/dist/agent/memory/decision-tracker.d.ts.map +1 -0
  28. package/dist/agent/memory/decision-tracker.js +274 -0
  29. package/dist/agent/memory/decision-tracker.js.map +1 -0
  30. package/dist/agent/memory/memory-manager.d.ts.map +1 -0
  31. package/dist/agent/memory/memory-manager.js +187 -0
  32. package/dist/agent/memory/memory-manager.js.map +1 -0
  33. package/dist/agent/memory/types.d.ts.map +1 -0
  34. package/dist/agent/memory/types.js +5 -0
  35. package/dist/agent/memory/types.js.map +1 -0
  36. package/dist/agent/message-formatter.d.ts.map +1 -0
  37. package/dist/agent/message-formatter.js +76 -0
  38. package/dist/agent/message-formatter.js.map +1 -0
  39. package/dist/agent/position-db.d.ts.map +1 -0
  40. package/dist/agent/position-db.js +154 -0
  41. package/dist/agent/position-db.js.map +1 -0
  42. package/dist/agent/simple-chat-ui-static.d.ts.map +1 -0
  43. package/dist/agent/simple-chat-ui-static.js +129 -0
  44. package/dist/agent/simple-chat-ui-static.js.map +1 -0
  45. package/dist/agent/simple-chat-ui.d.ts.map +1 -0
  46. package/dist/agent/simple-chat-ui.js +90 -0
  47. package/dist/agent/simple-chat-ui.js.map +1 -0
  48. package/dist/agent/tools.d.ts.map +1 -1
  49. package/dist/agent/tools.js +280 -5
  50. package/dist/agent/tools.js.map +1 -1
  51. package/dist/agent/ui.d.ts.map +1 -0
  52. package/dist/agent/ui.js +84 -0
  53. package/dist/agent/ui.js.map +1 -0
  54. package/dist/agent/unified-runtime.d.ts.map +1 -0
  55. package/dist/agent/unified-runtime.js +397 -0
  56. package/dist/agent/unified-runtime.js.map +1 -0
  57. package/dist/client.d.ts.map +1 -1
  58. package/dist/client.js +410 -49
  59. package/dist/client.js.map +1 -1
  60. package/dist/commands/account.d.ts.map +1 -1
  61. package/dist/commands/account.js +163 -28
  62. package/dist/commands/account.js.map +1 -1
  63. package/dist/commands/agent.d.ts.map +1 -0
  64. package/dist/commands/agent.js +258 -0
  65. package/dist/commands/agent.js.map +1 -0
  66. package/dist/commands/balances.d.ts.map +1 -1
  67. package/dist/commands/balances.js +229 -74
  68. package/dist/commands/balances.js.map +1 -1
  69. package/dist/commands/buy.d.ts.map +1 -1
  70. package/dist/commands/buy.js +88 -44
  71. package/dist/commands/buy.js.map +1 -1
  72. package/dist/commands/chat.d.ts.map +1 -1
  73. package/dist/commands/chat.js +203 -432
  74. package/dist/commands/chat.js.map +1 -1
  75. package/dist/commands/claim.d.ts.map +1 -1
  76. package/dist/commands/claim.js +86 -29
  77. package/dist/commands/claim.js.map +1 -1
  78. package/dist/commands/create.d.ts.map +1 -1
  79. package/dist/commands/create.js +65 -42
  80. package/dist/commands/create.js.map +1 -1
  81. package/dist/commands/health.d.ts.map +1 -1
  82. package/dist/commands/health.js +7 -5
  83. package/dist/commands/health.js.map +1 -1
  84. package/dist/commands/info.d.ts.map +1 -1
  85. package/dist/commands/info.js +136 -49
  86. package/dist/commands/info.js.map +1 -1
  87. package/dist/commands/list.d.ts.map +1 -1
  88. package/dist/commands/list.js +57 -23
  89. package/dist/commands/list.js.map +1 -1
  90. package/dist/commands/perps.d.ts.map +1 -0
  91. package/dist/commands/perps.js +192 -0
  92. package/dist/commands/perps.js.map +1 -0
  93. package/dist/commands/positions.d.ts.map +1 -1
  94. package/dist/commands/positions.js +77 -48
  95. package/dist/commands/positions.js.map +1 -1
  96. package/dist/commands/predict.d.ts.map +1 -0
  97. package/dist/commands/predict.js +280 -0
  98. package/dist/commands/predict.js.map +1 -0
  99. package/dist/commands/sell.d.ts.map +1 -1
  100. package/dist/commands/sell.js +79 -39
  101. package/dist/commands/sell.js.map +1 -1
  102. package/dist/commands/swap.d.ts.map +1 -0
  103. package/dist/commands/swap.js +541 -0
  104. package/dist/commands/swap.js.map +1 -0
  105. package/dist/commands/transactions.d.ts.map +1 -1
  106. package/dist/commands/transactions.js +28 -16
  107. package/dist/commands/transactions.js.map +1 -1
  108. package/dist/config.d.ts.map +1 -1
  109. package/dist/config.js +330 -34
  110. package/dist/config.js.map +1 -1
  111. package/dist/index.js +1219 -167
  112. package/dist/index.js.map +1 -1
  113. package/dist/interactive/art.d.ts.map +1 -1
  114. package/dist/interactive/art.js +38 -1
  115. package/dist/interactive/art.js.map +1 -1
  116. package/dist/interactive/shell.d.ts.map +1 -1
  117. package/dist/interactive/shell.js +398 -2259
  118. package/dist/interactive/shell.js.map +1 -1
  119. package/dist/mcp/chat-state.d.ts.map +1 -1
  120. package/dist/mcp/chat-state.js +2 -1
  121. package/dist/mcp/chat-state.js.map +1 -1
  122. package/dist/mcp/server.js +1 -1
  123. package/dist/mcp/tools.d.ts.map +1 -1
  124. package/dist/mcp/tools.js +108 -1
  125. package/dist/mcp/tools.js.map +1 -1
  126. package/dist/mcp/types.d.ts.map +1 -1
  127. package/dist/types/agent-info.d.ts.map +1 -0
  128. package/dist/types/agent-info.js +11 -0
  129. package/dist/types/agent-info.js.map +1 -0
  130. package/dist/ui/components/ScrollableList.d.ts.map +1 -0
  131. package/dist/ui/components/ScrollableList.js +72 -0
  132. package/dist/ui/components/ScrollableList.js.map +1 -0
  133. package/dist/ui/components/ThemeProvider.d.ts.map +1 -0
  134. package/dist/ui/components/ThemeProvider.js +87 -0
  135. package/dist/ui/components/ThemeProvider.js.map +1 -0
  136. package/dist/ui/components/ThemedBox.d.ts.map +1 -0
  137. package/dist/ui/components/ThemedBox.js +24 -0
  138. package/dist/ui/components/ThemedBox.js.map +1 -0
  139. package/dist/ui/components/agent/ChatHeader.d.ts.map +1 -0
  140. package/dist/ui/components/agent/ChatHeader.js +39 -0
  141. package/dist/ui/components/agent/ChatHeader.js.map +1 -0
  142. package/dist/ui/components/agent/Header.d.ts.map +1 -0
  143. package/dist/ui/components/agent/Header.js +14 -0
  144. package/dist/ui/components/agent/Header.js.map +1 -0
  145. package/dist/ui/components/agent/Input.d.ts.map +1 -0
  146. package/dist/ui/components/agent/Input.js +23 -0
  147. package/dist/ui/components/agent/Input.js.map +1 -0
  148. package/dist/ui/components/agent/Output.d.ts.map +1 -0
  149. package/dist/ui/components/agent/Output.js +23 -0
  150. package/dist/ui/components/agent/Output.js.map +1 -0
  151. package/dist/ui/components/chat/TokenChatUI.d.ts.map +1 -0
  152. package/dist/ui/components/chat/TokenChatUI.js +133 -0
  153. package/dist/ui/components/chat/TokenChatUI.js.map +1 -0
  154. package/dist/ui/components/shell/ShellHeader.d.ts.map +1 -0
  155. package/dist/ui/components/shell/ShellHeader.js +31 -0
  156. package/dist/ui/components/shell/ShellHeader.js.map +1 -0
  157. package/dist/ui/components/shell/ShellInput.d.ts.map +1 -0
  158. package/dist/ui/components/shell/ShellInput.js +147 -0
  159. package/dist/ui/components/shell/ShellInput.js.map +1 -0
  160. package/dist/ui/components/shell/ShellOutput.d.ts.map +1 -0
  161. package/dist/ui/components/shell/ShellOutput.js +8 -0
  162. package/dist/ui/components/shell/ShellOutput.js.map +1 -0
  163. package/dist/ui/hooks/useChatWebSocket.d.ts.map +1 -0
  164. package/dist/ui/hooks/useChatWebSocket.js +76 -0
  165. package/dist/ui/hooks/useChatWebSocket.js.map +1 -0
  166. package/dist/ui/hooks/useCommandHistory.d.ts.map +1 -0
  167. package/dist/ui/hooks/useCommandHistory.js +70 -0
  168. package/dist/ui/hooks/useCommandHistory.js.map +1 -0
  169. package/dist/ui/hooks/useDebounce.d.ts.map +1 -0
  170. package/dist/ui/hooks/useDebounce.js +17 -0
  171. package/dist/ui/hooks/useDebounce.js.map +1 -0
  172. package/dist/ui/hooks/useLogStream.d.ts.map +1 -0
  173. package/dist/ui/hooks/useLogStream.js +20 -0
  174. package/dist/ui/hooks/useLogStream.js.map +1 -0
  175. package/dist/ui/hooks/useVirtualScroll.d.ts.map +1 -0
  176. package/dist/ui/hooks/useVirtualScroll.js +70 -0
  177. package/dist/ui/hooks/useVirtualScroll.js.map +1 -0
  178. package/dist/utils/constants.d.ts.map +1 -1
  179. package/dist/utils/constants.js +44 -2
  180. package/dist/utils/constants.js.map +1 -1
  181. package/dist/utils/errors.d.ts.map +1 -1
  182. package/dist/utils/errors.js +3 -3
  183. package/dist/utils/errors.js.map +1 -1
  184. package/dist/utils/formatting.d.ts.map +1 -1
  185. package/dist/utils/formatting.js +37 -6
  186. package/dist/utils/formatting.js.map +1 -1
  187. package/dist/utils/loading.d.ts.map +1 -1
  188. package/dist/utils/loading.js +25 -3
  189. package/dist/utils/loading.js.map +1 -1
  190. package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
  191. package/dist/utils/privateKeyPrompt.js +48 -13
  192. package/dist/utils/privateKeyPrompt.js.map +1 -1
  193. package/dist/utils/rpc-helpers.d.ts.map +1 -0
  194. package/dist/utils/rpc-helpers.js +70 -0
  195. package/dist/utils/rpc-helpers.js.map +1 -0
  196. package/dist/utils/rpc-transport.d.ts.map +1 -0
  197. package/dist/utils/rpc-transport.js +87 -0
  198. package/dist/utils/rpc-transport.js.map +1 -0
  199. package/dist/utils/status.d.ts.map +1 -0
  200. package/dist/utils/status.js +96 -0
  201. package/dist/utils/status.js.map +1 -0
  202. package/dist/utils/token-resolver.d.ts.map +1 -1
  203. package/dist/utils/token-resolver.js +45 -8
  204. package/dist/utils/token-resolver.js.map +1 -1
  205. package/issues.txt +2 -0
  206. package/package.json +17 -7
  207. package/swap.logs +61 -0
  208. package/swapping.txt +108 -0
  209. package/Screenshot 2025-12-21 at 8.56.02/342/200/257PM.png +0 -0
@@ -1,7 +1,9 @@
1
1
  import chalk from "chalk";
2
+ // USDC balance checking is handled via checkBalance from balances.ts
2
3
  import { config } from "../config.js";
3
4
  import { HttpcatClient } from "../client.js";
4
- import { formatAddress, createTable } from "../utils/formatting.js";
5
+ import { formatAddress } from "../utils/formatting.js";
6
+ import Table from "cli-table3";
5
7
  import { checkBalance } from "./balances.js";
6
8
  import { getPositions, displayPositions, } from "./positions.js";
7
9
  import { decryptData, } from "../utils/wallet.js";
@@ -25,14 +27,12 @@ export async function getAccountInfo(accountIndex) {
25
27
  if (account.address.toLowerCase() !== derivedAddress.toLowerCase()) {
26
28
  console.warn(`āš ļø Address mismatch: stored ${account.address} but derived ${derivedAddress}`);
27
29
  }
28
- // Get balance
29
- const balance = await checkBalance(privateKey);
30
+ // Get balance (silent mode - we'll display it separately in displayAccountInfo)
31
+ const balance = await checkBalance(privateKey, true);
30
32
  // Get positions if we have a client - use derived address to ensure correctness
31
33
  let positions;
32
34
  try {
33
35
  const client = await HttpcatClient.create(privateKey);
34
- // Log which address we're querying (for debugging)
35
- console.log(chalk.dim(` Querying positions for address: ${formatAddress(derivedAddress, 12)}`));
36
36
  positions = await getPositions(client, derivedAddress);
37
37
  // The API should filter by userAddress, so positions returned should be for this address
38
38
  // If positions exist but balances are 0, that's suspicious - log a warning
@@ -61,40 +61,55 @@ export async function getAccountInfo(accountIndex) {
61
61
  export async function displayAccountInfo(data) {
62
62
  const { account, balance, positions } = data;
63
63
  console.log();
64
- console.log(chalk.cyan("=".repeat(80)));
65
- console.log(chalk.cyan.bold("šŸ‘¤ Account Information"));
66
- console.log(chalk.cyan("=".repeat(80)));
64
+ console.log(chalk.magenta.bold("šŸ‘¤ Account Information"));
67
65
  console.log();
68
66
  // Account details
69
- const accountTable = createTable(["Property", "Value"]);
70
- accountTable.push(["Account Index", account.index.toString()], [
71
- "Type",
72
- account.type === "custom" ? "Custom (Private Key)" : "Seed-Derived",
73
- ], ["Address", formatAddress(account.address, 12)], ["Full Address", account.address]);
67
+ const accountTable = new Table({
68
+ head: [chalk.blue.bold("Property"), chalk.yellow.bold("Value")],
69
+ style: {
70
+ head: [],
71
+ border: ["dim"],
72
+ },
73
+ });
74
+ accountTable.push([chalk.blue("Account Index"), chalk.yellow(account.index.toString())], [
75
+ chalk.blue("Type"),
76
+ account.type === "custom"
77
+ ? chalk.cyan("Custom (Private Key)")
78
+ : chalk.cyan("Seed-Derived"),
79
+ ], [chalk.blue("Address"), chalk.cyan(formatAddress(account.address, 12))], [chalk.blue("Full Address"), chalk.cyan(account.address)]);
74
80
  if (account.label) {
75
- accountTable.push(["Label", account.label]);
81
+ accountTable.push([chalk.blue("Label"), chalk.magenta(account.label)]);
76
82
  }
77
83
  console.log(accountTable.toString());
78
84
  console.log();
79
85
  // Balance information
80
- console.log(chalk.cyan.bold("šŸ’° Balances"));
86
+ console.log(chalk.magenta.bold("šŸ’° Balances"));
81
87
  console.log();
82
- const balanceTable = createTable(["Asset", "Balance"]);
83
- balanceTable.push(["ETH", chalk.yellow(balance.ethFormatted)], ["USDC", chalk.green(`$${balance.usdcFormatted}`)]);
88
+ const balanceTable = new Table({
89
+ head: [chalk.blue.bold("Asset"), chalk.green.bold("Balance")],
90
+ style: {
91
+ head: [],
92
+ border: ["dim"],
93
+ },
94
+ });
95
+ balanceTable.push([chalk.yellow("ETH"), chalk.yellow(balance.ethFormatted)], [chalk.green("USDC"), chalk.green(`$${balance.usdcFormatted}`)]);
84
96
  // Show 402CAT if we successfully fetched it (always show, even if 0)
85
97
  if (balance.cat402Formatted !== undefined) {
86
- balanceTable.push(["CAT", chalk.cyan(balance.cat402Formatted)]);
98
+ balanceTable.push([
99
+ chalk.cyan("CAT"),
100
+ chalk.magenta(balance.cat402Formatted),
101
+ ]);
87
102
  }
88
103
  console.log(balanceTable.toString());
89
104
  console.log();
90
105
  // Positions if available
91
106
  if (positions && positions.positions.length > 0) {
92
- console.log(chalk.cyan.bold("šŸ’¼ Positions"));
107
+ console.log(chalk.magenta.bold("šŸ’¼ Positions"));
93
108
  console.log();
94
109
  displayPositions(positions);
95
110
  }
96
111
  else if (positions) {
97
- console.log(chalk.cyan.bold("šŸ’¼ Positions"));
112
+ console.log(chalk.magenta.bold("šŸ’¼ Positions"));
98
113
  console.log();
99
114
  console.log(chalk.dim("No positions found."));
100
115
  console.log();
@@ -107,7 +122,7 @@ export function listAccounts() {
107
122
  const accounts = config.getAllAccounts();
108
123
  const activeIndex = config.getActiveAccountIndex();
109
124
  console.log();
110
- console.log(chalk.cyan.bold("šŸ“‹ All Accounts"));
125
+ console.log(chalk.magenta.bold("šŸ“‹ All Accounts"));
111
126
  console.log();
112
127
  if (accounts.length === 0) {
113
128
  console.log(chalk.yellow("No accounts configured."));
@@ -116,13 +131,28 @@ export function listAccounts() {
116
131
  console.log();
117
132
  return;
118
133
  }
119
- const table = createTable(["Index", "Type", "Address", "Status"]);
134
+ const table = new Table({
135
+ head: [
136
+ chalk.blue.bold("Index"),
137
+ chalk.yellow.bold("Type"),
138
+ chalk.cyan.bold("Address"),
139
+ chalk.green.bold("Status"),
140
+ ],
141
+ style: {
142
+ head: [],
143
+ border: ["dim"],
144
+ },
145
+ });
120
146
  for (const account of accounts) {
121
147
  const isActive = account.index === activeIndex;
122
- const status = isActive ? chalk.green("ā— Active") : chalk.dim("ā—‹ Inactive");
123
- const type = account.type === "custom" ? "Custom" : "Seed-Derived";
124
- const address = formatAddress(account.address, 12);
125
- table.push([account.index.toString(), type, address, status]);
148
+ const status = isActive
149
+ ? chalk.green.bold("ā— Active")
150
+ : chalk.dim("ā—‹ Inactive");
151
+ const type = account.type === "custom"
152
+ ? chalk.cyan("Custom")
153
+ : chalk.cyan("Seed-Derived");
154
+ const address = chalk.cyan(formatAddress(account.address, 12));
155
+ table.push([chalk.yellow(account.index.toString()), type, address, status]);
126
156
  }
127
157
  console.log(table.toString());
128
158
  console.log();
@@ -145,9 +175,9 @@ export function switchAccount(index) {
145
175
  console.log();
146
176
  }
147
177
  /**
148
- * Add a new seed-derived account
178
+ * Create a new seed-derived account
149
179
  */
150
- export async function addAccount() {
180
+ export async function createAccount() {
151
181
  const accounts = config.getAllAccounts();
152
182
  const hasSeedPhrase = !!config.get("encryptedSeedPhrase");
153
183
  const password = config.getPassword() || "";
@@ -233,4 +263,109 @@ export async function addAccount() {
233
263
  console.log();
234
264
  }
235
265
  }
266
+ /**
267
+ * Add a custom account using a private key
268
+ */
269
+ export async function addCustomAccount(privateKey) {
270
+ const password = config.getPassword() || "";
271
+ let validatedPrivateKey;
272
+ // If private key provided as argument, validate it first
273
+ if (privateKey) {
274
+ // Trim whitespace
275
+ privateKey = privateKey.trim();
276
+ // Validate format
277
+ if (!privateKey.startsWith("0x")) {
278
+ throw new Error("Private key must start with 0x");
279
+ }
280
+ if (privateKey.length !== 66) {
281
+ throw new Error("Private key must be 66 characters long (0x + 64 hex chars)");
282
+ }
283
+ // Validate hex characters
284
+ const hexPattern = /^0x[0-9a-fA-F]{64}$/;
285
+ if (!hexPattern.test(privateKey)) {
286
+ throw new Error("Private key must contain only hexadecimal characters (0-9, a-f, A-F)");
287
+ }
288
+ // Validate it's a valid private key by trying to derive account
289
+ try {
290
+ const { privateKeyToAccount } = await import("viem/accounts");
291
+ privateKeyToAccount(privateKey);
292
+ }
293
+ catch (error) {
294
+ throw new Error(`Invalid private key: ${error instanceof Error ? error.message : "Could not derive account"}`);
295
+ }
296
+ validatedPrivateKey = privateKey;
297
+ }
298
+ else {
299
+ // No argument provided - prompt interactively
300
+ console.log();
301
+ console.log(chalk.bold.cyan("šŸ”‘ Adding custom account...\n"));
302
+ const inquirer = (await import("inquirer")).default;
303
+ // Custom mask function: show first 5 chars, then dots
304
+ const maskFunction = (input) => {
305
+ if (!input || input.length === 0)
306
+ return "";
307
+ if (input.length <= 5)
308
+ return input;
309
+ return input.substring(0, 5) + "•".repeat(input.length - 5);
310
+ };
311
+ const answers = await inquirer.prompt([
312
+ {
313
+ type: "password",
314
+ name: "privateKey",
315
+ message: "Enter your private key:",
316
+ mask: maskFunction,
317
+ validate: (input) => {
318
+ if (!input) {
319
+ return "Private key is required";
320
+ }
321
+ if (!input.startsWith("0x")) {
322
+ return "Private key must start with 0x";
323
+ }
324
+ if (input.length !== 66) {
325
+ return "Private key must be 66 characters long (0x + 64 hex chars)";
326
+ }
327
+ // Validate hex characters
328
+ const hexPattern = /^0x[0-9a-fA-F]{64}$/;
329
+ if (!hexPattern.test(input)) {
330
+ return "Private key must contain only hexadecimal characters (0-9, a-f, A-F)";
331
+ }
332
+ return true;
333
+ },
334
+ },
335
+ ]);
336
+ validatedPrivateKey = answers.privateKey;
337
+ }
338
+ // Derive address from private key
339
+ const { getAddressFromPrivateKey, encryptData } = await import("../utils/wallet.js");
340
+ const address = getAddressFromPrivateKey(validatedPrivateKey);
341
+ // Check if this address already exists
342
+ const accounts = config.getAllAccounts();
343
+ const existingAccount = accounts.find((acc) => acc.address.toLowerCase() === address.toLowerCase());
344
+ if (existingAccount) {
345
+ throw new Error(`This private key is already added as Account ${existingAccount.index}`);
346
+ }
347
+ // Find the next available account index
348
+ const maxIndex = accounts.length > 0 ? Math.max(...accounts.map((acc) => acc.index)) : -1;
349
+ const nextIndex = maxIndex + 1;
350
+ // Encrypt the private key
351
+ const encryptedKey = password
352
+ ? encryptData(validatedPrivateKey, password)
353
+ : validatedPrivateKey;
354
+ // Add account at next index with encrypted private key stored in account info
355
+ config.addAccount({
356
+ type: "custom",
357
+ index: nextIndex,
358
+ address,
359
+ encryptedPrivateKey: encryptedKey,
360
+ });
361
+ // For backward compatibility, also set the global encryptedPrivateKey if this is Account 0
362
+ if (nextIndex === 0) {
363
+ config.setEncryptedPrivateKey(validatedPrivateKey, password);
364
+ }
365
+ console.log();
366
+ console.log(chalk.green(`āœ… Added Account ${nextIndex}`));
367
+ console.log(chalk.dim(` Type: Custom (Private Key)`));
368
+ console.log(chalk.dim(` Address: ${formatAddress(address, 12)}`));
369
+ console.log();
370
+ }
236
371
  //# sourceMappingURL=account.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/commands/account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/commands/account.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkRzD"}
@@ -0,0 +1,258 @@
1
+ import { HttpcatClient } from "../client.js";
2
+ import { config } from "../config.js";
3
+ import { UnifiedAgentRuntime } from "../agent/unified-runtime.js";
4
+ import { PositionDatabase } from "../agent/position-db.js";
5
+ import { setupAIAgentWizard } from "../agent/setup-wizard.js";
6
+ import inquirer from "inquirer";
7
+ import { homedir } from "os";
8
+ import { join } from "path";
9
+ export function setupAgentCommands(program) {
10
+ const agentCmd = program
11
+ .command("agent")
12
+ .description("Autonomous trading agent commands");
13
+ // httpcat agent setup
14
+ agentCmd
15
+ .command("setup")
16
+ .description("Configure autonomous trading agent")
17
+ .action(async () => {
18
+ console.log("🐱 Autonomous Trading Agent Setup\n");
19
+ // Check if AI is already configured
20
+ const aiConfig = config.get("aiAgent");
21
+ if (!aiConfig || !aiConfig.apiKey) {
22
+ console.error("āŒ AI not configured. Please run the agent setup wizard first:");
23
+ console.error(" Use the interactive cat command to set up your AI provider\n");
24
+ process.exit(1);
25
+ }
26
+ console.log(`āœ… AI configured: ${aiConfig.provider} (${aiConfig.model || "default model"})\n`);
27
+ const answers = await inquirer.prompt([
28
+ {
29
+ type: "confirm",
30
+ name: "enabled",
31
+ message: "Enable autonomous trading agent?",
32
+ default: false
33
+ },
34
+ {
35
+ type: "confirm",
36
+ name: "autoTrade",
37
+ message: "Enable auto-trading? (false = test mode, shows recommendations only)",
38
+ default: false,
39
+ when: (answers) => answers.enabled
40
+ },
41
+ {
42
+ type: "number",
43
+ name: "maxTrade",
44
+ message: "Maximum trade amount (USDC):",
45
+ default: 10.0,
46
+ when: (answers) => answers.enabled
47
+ },
48
+ {
49
+ type: "list",
50
+ name: "riskTolerance",
51
+ message: "Risk tolerance:",
52
+ choices: ["conservative", "moderate", "aggressive"],
53
+ default: "conservative",
54
+ when: (answers) => answers.enabled
55
+ }
56
+ ]);
57
+ // Save config
58
+ config.set("agentConfig", {
59
+ enabled: answers.enabled,
60
+ autoTradeEnabled: answers.autoTrade || false,
61
+ maxTradeAmountUsdc: answers.maxTrade || 10.0,
62
+ riskTolerance: answers.riskTolerance || "conservative",
63
+ minHolderCount: 50,
64
+ maxWhalePercentage: 15.0,
65
+ minLiquidityUsdc: 1000.0
66
+ });
67
+ console.log("\nāœ… Agent configuration saved!");
68
+ if (answers.enabled) {
69
+ console.log("Run 'httpcat agent start' to begin monitoring");
70
+ }
71
+ process.exit(0);
72
+ });
73
+ // httpcat agent (default - start in read-only mode)
74
+ agentCmd
75
+ .description("Start autonomous trading agent (read-only mode)")
76
+ .action(async () => {
77
+ // Auto-configuration check
78
+ const aiConfig = config.get("aiAgent");
79
+ if (!aiConfig || !aiConfig.apiKey) {
80
+ console.log("🐱 AI agent not configured. Running setup wizard...\n");
81
+ await setupAIAgentWizard();
82
+ }
83
+ const agentConfig = config.get("agentConfig");
84
+ if (!agentConfig || !agentConfig.enabled) {
85
+ console.log("🐱 Agent not configured. Running setup...\n");
86
+ // Run setup inline
87
+ const answers = await inquirer.prompt([
88
+ {
89
+ type: "confirm",
90
+ name: "enabled",
91
+ message: "Enable autonomous trading agent?",
92
+ default: true
93
+ },
94
+ {
95
+ type: "confirm",
96
+ name: "autoTrade",
97
+ message: "Enable auto-trading? (false = test mode, shows recommendations only)",
98
+ default: false,
99
+ when: (answers) => answers.enabled
100
+ },
101
+ {
102
+ type: "number",
103
+ name: "maxTrade",
104
+ message: "Maximum trade amount (USDC):",
105
+ default: 10.0,
106
+ when: (answers) => answers.enabled
107
+ },
108
+ {
109
+ type: "list",
110
+ name: "riskTolerance",
111
+ message: "Risk tolerance:",
112
+ choices: ["conservative", "moderate", "aggressive"],
113
+ default: "conservative",
114
+ when: (answers) => answers.enabled
115
+ }
116
+ ]);
117
+ config.set("agentConfig", {
118
+ enabled: answers.enabled,
119
+ autoTradeEnabled: answers.autoTrade || false,
120
+ maxTradeAmountUsdc: answers.maxTrade || 10.0,
121
+ riskTolerance: answers.riskTolerance || "conservative",
122
+ minHolderCount: 50,
123
+ maxWhalePercentage: 15.0,
124
+ minLiquidityUsdc: 1000.0
125
+ });
126
+ }
127
+ // Verify AI is configured
128
+ const finalAiConfig = config.get("aiAgent");
129
+ if (!finalAiConfig || !finalAiConfig.apiKey) {
130
+ console.error("āŒ AI not configured. Please run setup again.");
131
+ process.exit(1);
132
+ }
133
+ // Create client and runtime
134
+ const privateKey = config.getPrivateKey();
135
+ const client = await HttpcatClient.create(privateKey);
136
+ const runtime = new UnifiedAgentRuntime(client, false); // Read-only mode
137
+ // Start runtime
138
+ await runtime.start();
139
+ // Keep process alive
140
+ // The runtime handles graceful shutdown internally
141
+ });
142
+ // httpcat agent chat
143
+ agentCmd
144
+ .command("chat")
145
+ .description("Start agent with chat mode enabled")
146
+ .action(async () => {
147
+ // Auto-configuration check (same as above)
148
+ const aiConfig = config.get("aiAgent");
149
+ if (!aiConfig || !aiConfig.apiKey) {
150
+ console.log("🐱 AI agent not configured. Running setup wizard...\n");
151
+ await setupAIAgentWizard();
152
+ }
153
+ const agentConfig = config.get("agentConfig");
154
+ if (!agentConfig || !agentConfig.enabled) {
155
+ console.log("🐱 Agent not configured. Running setup...\n");
156
+ const answers = await inquirer.prompt([
157
+ {
158
+ type: "confirm",
159
+ name: "enabled",
160
+ message: "Enable autonomous trading agent?",
161
+ default: true
162
+ },
163
+ {
164
+ type: "confirm",
165
+ name: "autoTrade",
166
+ message: "Enable auto-trading? (false = test mode, shows recommendations only)",
167
+ default: false,
168
+ when: (answers) => answers.enabled
169
+ },
170
+ {
171
+ type: "number",
172
+ name: "maxTrade",
173
+ message: "Maximum trade amount (USDC):",
174
+ default: 10.0,
175
+ when: (answers) => answers.enabled
176
+ },
177
+ {
178
+ type: "list",
179
+ name: "riskTolerance",
180
+ message: "Risk tolerance:",
181
+ choices: ["conservative", "moderate", "aggressive"],
182
+ default: "conservative",
183
+ when: (answers) => answers.enabled
184
+ }
185
+ ]);
186
+ config.set("agentConfig", {
187
+ enabled: answers.enabled,
188
+ autoTradeEnabled: answers.autoTrade || false,
189
+ maxTradeAmountUsdc: answers.maxTrade || 10.0,
190
+ riskTolerance: answers.riskTolerance || "conservative",
191
+ minHolderCount: 50,
192
+ maxWhalePercentage: 15.0,
193
+ minLiquidityUsdc: 1000.0
194
+ });
195
+ }
196
+ // Verify AI is configured
197
+ const finalAiConfig = config.get("aiAgent");
198
+ if (!finalAiConfig || !finalAiConfig.apiKey) {
199
+ console.error("āŒ AI not configured. Please run setup again.");
200
+ process.exit(1);
201
+ }
202
+ // Create client and runtime with chat enabled
203
+ const privateKey = config.getPrivateKey();
204
+ const client = await HttpcatClient.create(privateKey);
205
+ const runtime = new UnifiedAgentRuntime(client, true); // Chat mode enabled
206
+ // Start runtime
207
+ await runtime.start();
208
+ // Keep process alive
209
+ // The runtime handles graceful shutdown internally
210
+ });
211
+ // httpcat agent positions
212
+ agentCmd
213
+ .command("positions")
214
+ .description("View local position database")
215
+ .action(async () => {
216
+ const agentConfig = config.get("agentConfig") || {};
217
+ const dbPath = agentConfig.dbPath || join(homedir(), ".config", "httpcat", "agent.db");
218
+ const db = new PositionDatabase(dbPath);
219
+ const positions = db.getAllPositions();
220
+ console.log(`\nšŸ“Š Positions (${positions.length}):\n`);
221
+ if (positions.length === 0) {
222
+ console.log(" No positions found");
223
+ }
224
+ else {
225
+ positions.forEach(p => {
226
+ console.log(`${p.symbol}:`);
227
+ console.log(` Tokens: ${p.tokens_owned}`);
228
+ console.log(` Avg Price: $${p.avg_buy_price}`);
229
+ console.log(` Invested: $${p.total_invested}`);
230
+ console.log("");
231
+ });
232
+ }
233
+ db.close();
234
+ });
235
+ // httpcat agent trades
236
+ agentCmd
237
+ .command("trades")
238
+ .option("-l, --limit <number>", "Number of trades to show", "50")
239
+ .description("View local trade history")
240
+ .action(async (options) => {
241
+ const agentConfig = config.get("agentConfig") || {};
242
+ const dbPath = agentConfig.dbPath || join(homedir(), ".config", "httpcat", "agent.db");
243
+ const db = new PositionDatabase(dbPath);
244
+ const trades = db.getTrades(parseInt(options.limit));
245
+ console.log(`\nšŸ“œ Recent Trades (${trades.length}):\n`);
246
+ if (trades.length === 0) {
247
+ console.log(" No trades found");
248
+ }
249
+ else {
250
+ trades.forEach(t => {
251
+ const amountStr = t.trade_type === "buy" ? `$${t.amount_usdc}` : `${t.amount_tokens} tokens`;
252
+ console.log(`[${t.created_at}] ${t.trade_type.toUpperCase()} ${t.symbol}: ${amountStr} @ $${t.price}`);
253
+ });
254
+ }
255
+ db.close();
256
+ });
257
+ }
258
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.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,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CA2KlG;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;AAWhC,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,CA2PlG;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CA6FzD"}