httpcat-cli 0.3.0-rc.9 → 0.3.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 (203) hide show
  1. package/.github/workflows/ci.yml +3 -0
  2. package/.github/workflows/rc-publish.yml +6 -0
  3. package/.github/workflows/release.yml +6 -0
  4. package/README.md +1306 -130
  5. package/bun.lock +2 -2
  6. package/dist/agent/ax-agent.d.ts.map +1 -1
  7. package/dist/agent/ax-agent.js +64 -1
  8. package/dist/agent/ax-agent.js.map +1 -1
  9. package/dist/agent/tools.d.ts.map +1 -1
  10. package/dist/agent/tools.js +107 -7
  11. package/dist/agent/tools.js.map +1 -1
  12. package/dist/client.d.ts.map +1 -1
  13. package/dist/client.js +258 -11
  14. package/dist/client.js.map +1 -1
  15. package/dist/commands/account.d.ts.map +1 -1
  16. package/dist/commands/account.js +34 -14
  17. package/dist/commands/account.js.map +1 -1
  18. package/dist/commands/agent.d.ts.map +1 -1
  19. package/dist/commands/agent.js +114 -247
  20. package/dist/commands/agent.js.map +1 -1
  21. package/dist/commands/approve.d.ts.map +1 -0
  22. package/dist/commands/approve.js +505 -0
  23. package/dist/commands/approve.js.map +1 -0
  24. package/dist/commands/automation.d.ts.map +1 -0
  25. package/dist/commands/automation.js +346 -0
  26. package/dist/commands/automation.js.map +1 -0
  27. package/dist/commands/balances.d.ts.map +1 -1
  28. package/dist/commands/balances.js +31 -8
  29. package/dist/commands/balances.js.map +1 -1
  30. package/dist/commands/buy.d.ts.map +1 -1
  31. package/dist/commands/buy.js +88 -115
  32. package/dist/commands/buy.js.map +1 -1
  33. package/dist/commands/call.d.ts.map +1 -0
  34. package/dist/commands/call.js +51 -0
  35. package/dist/commands/call.js.map +1 -0
  36. package/dist/commands/cex.d.ts.map +1 -0
  37. package/dist/commands/cex.js +958 -0
  38. package/dist/commands/cex.js.map +1 -0
  39. package/dist/commands/claim.d.ts.map +1 -1
  40. package/dist/commands/claim.js +231 -4
  41. package/dist/commands/claim.js.map +1 -1
  42. package/dist/commands/create.d.ts.map +1 -1
  43. package/dist/commands/create.js +88 -3
  44. package/dist/commands/create.js.map +1 -1
  45. package/dist/commands/gasless-swap.d.ts.map +1 -0
  46. package/dist/commands/gasless-swap.js +232 -0
  47. package/dist/commands/gasless-swap.js.map +1 -0
  48. package/dist/commands/health.d.ts.map +1 -1
  49. package/dist/commands/health.js +58 -4
  50. package/dist/commands/health.js.map +1 -1
  51. package/dist/commands/info.js +1 -1
  52. package/dist/commands/info.js.map +1 -1
  53. package/dist/commands/launchpad.d.ts.map +1 -0
  54. package/dist/commands/launchpad.js +708 -0
  55. package/dist/commands/launchpad.js.map +1 -0
  56. package/dist/commands/list.d.ts.map +1 -1
  57. package/dist/commands/list.js +1 -1
  58. package/dist/commands/list.js.map +1 -1
  59. package/dist/commands/market.d.ts.map +1 -0
  60. package/dist/commands/market.js +960 -0
  61. package/dist/commands/market.js.map +1 -0
  62. package/dist/commands/mcp-install.d.ts.map +1 -0
  63. package/dist/commands/mcp-install.js +387 -0
  64. package/dist/commands/mcp-install.js.map +1 -0
  65. package/dist/commands/opps.d.ts.map +1 -0
  66. package/dist/commands/opps.js +409 -0
  67. package/dist/commands/opps.js.map +1 -0
  68. package/dist/commands/perps.d.ts.map +1 -0
  69. package/dist/commands/perps.js +248 -0
  70. package/dist/commands/perps.js.map +1 -0
  71. package/dist/commands/portfolio.d.ts.map +1 -0
  72. package/dist/commands/portfolio.js +679 -0
  73. package/dist/commands/portfolio.js.map +1 -0
  74. package/dist/commands/positions.js +1 -1
  75. package/dist/commands/positions.js.map +1 -1
  76. package/dist/commands/predict.d.ts.map +1 -0
  77. package/dist/commands/predict.js +280 -0
  78. package/dist/commands/predict.js.map +1 -0
  79. package/dist/commands/predictions.d.ts.map +1 -0
  80. package/dist/commands/predictions.js +486 -0
  81. package/dist/commands/predictions.js.map +1 -0
  82. package/dist/commands/risk.d.ts.map +1 -0
  83. package/dist/commands/risk.js +225 -0
  84. package/dist/commands/risk.js.map +1 -0
  85. package/dist/commands/security.d.ts.map +1 -0
  86. package/dist/commands/security.js +244 -0
  87. package/dist/commands/security.js.map +1 -0
  88. package/dist/commands/sell.js +3 -3
  89. package/dist/commands/sell.js.map +1 -1
  90. package/dist/commands/send.d.ts.map +1 -0
  91. package/dist/commands/send.js +733 -0
  92. package/dist/commands/send.js.map +1 -0
  93. package/dist/commands/sign.d.ts.map +1 -0
  94. package/dist/commands/sign.js +1048 -0
  95. package/dist/commands/sign.js.map +1 -0
  96. package/dist/commands/swap.d.ts.map +1 -1
  97. package/dist/commands/swap.js +245 -2
  98. package/dist/commands/swap.js.map +1 -1
  99. package/dist/commands/system.d.ts.map +1 -0
  100. package/dist/commands/system.js +417 -0
  101. package/dist/commands/system.js.map +1 -0
  102. package/dist/commands/tools/index.d.ts.map +1 -0
  103. package/dist/commands/tools/index.js +2040 -0
  104. package/dist/commands/tools/index.js.map +1 -0
  105. package/dist/commands/trade.d.ts.map +1 -0
  106. package/dist/commands/trade.js +237 -0
  107. package/dist/commands/trade.js.map +1 -0
  108. package/dist/commands/transactions.js +1 -1
  109. package/dist/commands/transactions.js.map +1 -1
  110. package/dist/commands/update.d.ts.map +1 -0
  111. package/dist/commands/update.js +429 -0
  112. package/dist/commands/update.js.map +1 -0
  113. package/dist/config.d.ts.map +1 -1
  114. package/dist/config.js +91 -9
  115. package/dist/config.js.map +1 -1
  116. package/dist/index.js +4409 -1050
  117. package/dist/index.js.map +1 -1
  118. package/dist/interactive/art.d.ts.map +1 -1
  119. package/dist/interactive/art.js +33 -0
  120. package/dist/interactive/art.js.map +1 -1
  121. package/dist/interactive/shell.d.ts.map +1 -1
  122. package/dist/interactive/shell.js +81 -5
  123. package/dist/interactive/shell.js.map +1 -1
  124. package/dist/mcp/context.d.ts.map +1 -0
  125. package/dist/mcp/context.js +211 -0
  126. package/dist/mcp/context.js.map +1 -0
  127. package/dist/mcp/onboarding.d.ts.map +1 -0
  128. package/dist/mcp/onboarding.js +266 -0
  129. package/dist/mcp/onboarding.js.map +1 -0
  130. package/dist/mcp/resources.d.ts.map +1 -0
  131. package/dist/mcp/resources.js +222 -0
  132. package/dist/mcp/resources.js.map +1 -0
  133. package/dist/mcp/server.d.ts.map +1 -1
  134. package/dist/mcp/server.js +51 -1
  135. package/dist/mcp/server.js.map +1 -1
  136. package/dist/mcp/tools.d.ts.map +1 -1
  137. package/dist/mcp/tools.js +4119 -169
  138. package/dist/mcp/tools.js.map +1 -1
  139. package/dist/mcp/types.d.ts.map +1 -1
  140. package/dist/ui/components/shell/ShellInput.d.ts.map +1 -1
  141. package/dist/ui/components/shell/ShellInput.js +4 -0
  142. package/dist/ui/components/shell/ShellInput.js.map +1 -1
  143. package/dist/utils/admin.d.ts.map +1 -0
  144. package/dist/utils/admin.js +144 -0
  145. package/dist/utils/admin.js.map +1 -0
  146. package/dist/utils/autoSetup.d.ts.map +1 -0
  147. package/dist/utils/autoSetup.js +252 -0
  148. package/dist/utils/autoSetup.js.map +1 -0
  149. package/dist/utils/build-constants.d.ts.map +1 -0
  150. package/dist/utils/build-constants.js +10 -0
  151. package/dist/utils/build-constants.js.map +1 -0
  152. package/dist/utils/errors.d.ts.map +1 -1
  153. package/dist/utils/errors.js +10 -1
  154. package/dist/utils/errors.js.map +1 -1
  155. package/dist/utils/formatting.d.ts.map +1 -1
  156. package/dist/utils/formatting.js +9 -3
  157. package/dist/utils/formatting.js.map +1 -1
  158. package/dist/utils/llm-cli-config.d.ts.map +1 -0
  159. package/dist/utils/llm-cli-config.js +963 -0
  160. package/dist/utils/llm-cli-config.js.map +1 -0
  161. package/dist/utils/llm-cli-detector.d.ts.map +1 -0
  162. package/dist/utils/llm-cli-detector.js +202 -0
  163. package/dist/utils/llm-cli-detector.js.map +1 -0
  164. package/dist/utils/maintenance.d.ts.map +1 -0
  165. package/dist/utils/maintenance.js +17 -0
  166. package/dist/utils/maintenance.js.map +1 -0
  167. package/dist/utils/mcp-config.d.ts.map +1 -0
  168. package/dist/utils/mcp-config.js +77 -0
  169. package/dist/utils/mcp-config.js.map +1 -0
  170. package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
  171. package/dist/utils/privateKeyPrompt.js +287 -119
  172. package/dist/utils/privateKeyPrompt.js.map +1 -1
  173. package/dist/utils/process-cleanup.d.ts.map +1 -0
  174. package/dist/utils/process-cleanup.js +136 -0
  175. package/dist/utils/process-cleanup.js.map +1 -0
  176. package/dist/utils/retry.d.ts.map +1 -0
  177. package/dist/utils/retry.js +56 -0
  178. package/dist/utils/retry.js.map +1 -0
  179. package/dist/utils/shell-setup.d.ts.map +1 -0
  180. package/dist/utils/shell-setup.js +531 -0
  181. package/dist/utils/shell-setup.js.map +1 -0
  182. package/dist/utils/token-resolver.d.ts.map +1 -1
  183. package/dist/utils/token-resolver.js +42 -0
  184. package/dist/utils/token-resolver.js.map +1 -1
  185. package/dist/utils/x402-caller.d.ts.map +1 -0
  186. package/dist/utils/x402-caller.js +17 -0
  187. package/dist/utils/x402-caller.js.map +1 -0
  188. package/docs/README.md +28 -0
  189. package/docs/agent/README.md +18 -0
  190. package/docs/api/README.md +41 -0
  191. package/docs/cli/README.md +42 -0
  192. package/docs/guides/README.md +26 -0
  193. package/docs/implementation/README.md +18 -0
  194. package/docs/planning/README.md +19 -0
  195. package/docs/testing/README.md +15 -0
  196. package/docs/ux/README.md +16 -0
  197. package/package.json +9 -3
  198. package/scripts/cat-spin.sh +417 -0
  199. package/scripts/deprecate-rc-versions.js +58 -0
  200. package/scripts/inject-build-constants.js +43 -0
  201. package/scripts/monitor-foobar.js +117 -0
  202. package/test.txt +12 -0
  203. package/tests/fixtures/test-data.json +16 -0
@@ -0,0 +1,429 @@
1
+ import { Command } from "commander";
2
+ import chalk from "chalk";
3
+ import { execSync } from "child_process";
4
+ import { findHttpcatBinary } from "../utils/shell-setup.js";
5
+ import { readFileSync, realpathSync, lstatSync } from "fs";
6
+ import { fileURLToPath } from "url";
7
+ import { dirname, join, resolve } from "path";
8
+ // Get current version from package.json
9
+ const __filename = fileURLToPath(import.meta.url);
10
+ const __dirname = dirname(__filename);
11
+ const packageJson = JSON.parse(readFileSync(join(__dirname, "../../package.json"), "utf-8"));
12
+ const CURRENT_VERSION = packageJson.version;
13
+ /**
14
+ * Check if a command exists in PATH
15
+ */
16
+ function commandExists(command) {
17
+ try {
18
+ execSync(`which ${command}`, { stdio: "ignore" });
19
+ return true;
20
+ }
21
+ catch {
22
+ return false;
23
+ }
24
+ }
25
+ /**
26
+ * Detect the installation method based on binary location and available commands
27
+ */
28
+ function detectInstallationMethod() {
29
+ const binaryPath = findHttpcatBinary();
30
+ if (!binaryPath) {
31
+ // Can't find binary, assume local dev
32
+ return "local";
33
+ }
34
+ // First, check if binary path indicates a global installation
35
+ // This should be checked BEFORE checking if it's a local symlink
36
+ // Check for npm/nvm installations first
37
+ if (binaryPath.includes(".nvm") || binaryPath.includes(".npm") || binaryPath.includes("node_modules")) {
38
+ if (commandExists("npm")) {
39
+ return "npm";
40
+ }
41
+ }
42
+ // Check for yarn installations
43
+ if (binaryPath.includes(".yarn") || binaryPath.includes("yarn")) {
44
+ if (commandExists("yarn")) {
45
+ return "yarn";
46
+ }
47
+ }
48
+ // Check for Homebrew installations
49
+ if (binaryPath.includes("/opt/homebrew/bin") || binaryPath.includes("/usr/local/bin")) {
50
+ if (commandExists("brew")) {
51
+ try {
52
+ execSync("brew list httpcat", { stdio: "ignore" });
53
+ return "homebrew";
54
+ }
55
+ catch {
56
+ // Not installed via Homebrew, continue checking
57
+ }
58
+ }
59
+ }
60
+ // Now check if it's a symlink pointing to local project (yarn link scenario)
61
+ let resolvedBinary;
62
+ let isSymlink = false;
63
+ try {
64
+ const stats = lstatSync(binaryPath);
65
+ isSymlink = stats.isSymbolicLink();
66
+ resolvedBinary = realpathSync(binaryPath);
67
+ }
68
+ catch {
69
+ // Can't resolve, continue with binaryPath
70
+ resolvedBinary = binaryPath;
71
+ }
72
+ // Check if it's a local development installation
73
+ // If binary is in the project's dist directory, it's local
74
+ const projectDistPath = join(__dirname, "../../dist/index.js");
75
+ const isLocalBinary = resolvedBinary === resolve(projectDistPath);
76
+ // If it's a symlink pointing to local project, but the symlink itself is in a global location,
77
+ // we should still update the global installation
78
+ if (isSymlink && isLocalBinary) {
79
+ // The symlink points to local, but check where the symlink is located
80
+ // If it's in a global bin directory, update the global installation
81
+ if (binaryPath.includes(".nvm") || binaryPath.includes(".npm") || binaryPath.includes("node_modules")) {
82
+ if (commandExists("npm")) {
83
+ return "npm";
84
+ }
85
+ }
86
+ if (binaryPath.includes(".yarn") || binaryPath.includes("yarn")) {
87
+ if (commandExists("yarn")) {
88
+ return "yarn";
89
+ }
90
+ }
91
+ if (binaryPath.includes("/opt/homebrew/bin") || binaryPath.includes("/usr/local/bin")) {
92
+ if (commandExists("brew")) {
93
+ try {
94
+ execSync("brew list httpcat", { stdio: "ignore" });
95
+ return "homebrew";
96
+ }
97
+ catch {
98
+ // Not installed via Homebrew
99
+ }
100
+ }
101
+ }
102
+ }
103
+ // If it's actually a local binary (not symlinked), return local
104
+ if (isLocalBinary && !isSymlink) {
105
+ return "local";
106
+ }
107
+ // Default to npm if npm exists and we haven't determined the method yet
108
+ if (commandExists("npm")) {
109
+ return "npm";
110
+ }
111
+ // If we still can't determine, assume local
112
+ return "local";
113
+ }
114
+ /**
115
+ * Fetch version information from npm registry
116
+ */
117
+ async function fetchVersionInfo() {
118
+ const response = await fetch("https://registry.npmjs.org/httpcat-cli");
119
+ if (!response.ok) {
120
+ throw new Error(`Failed to fetch version info: ${response.status} ${response.statusText}`);
121
+ }
122
+ return (await response.json());
123
+ }
124
+ /**
125
+ * Get the latest version (stable or RC)
126
+ */
127
+ async function getLatestVersion(rc = false) {
128
+ const registryData = await fetchVersionInfo();
129
+ if (rc) {
130
+ // Check for rc dist-tag first
131
+ if (registryData["dist-tags"].rc) {
132
+ return registryData["dist-tags"].rc;
133
+ }
134
+ // Otherwise, find the highest version with -rc suffix
135
+ const rcVersions = Object.keys(registryData.versions)
136
+ .filter((v) => v.includes("-rc"))
137
+ .sort((a, b) => {
138
+ // Parse version parts
139
+ const aMatch = a.match(/^(\d+)\.(\d+)\.(\d+)-rc\.?(\d+)$/);
140
+ const bMatch = b.match(/^(\d+)\.(\d+)\.(\d+)-rc\.?(\d+)$/);
141
+ if (!aMatch || !bMatch) {
142
+ // Fallback to string comparison
143
+ return b.localeCompare(a);
144
+ }
145
+ // Compare major, minor, patch
146
+ for (let i = 1; i <= 3; i++) {
147
+ const aVal = parseInt(aMatch[i]);
148
+ const bVal = parseInt(bMatch[i]);
149
+ if (aVal !== bVal) {
150
+ return bVal - aVal; // Descending order
151
+ }
152
+ }
153
+ // Compare RC number if same base version
154
+ const aRc = parseInt(aMatch[4]);
155
+ const bRc = parseInt(bMatch[4]);
156
+ return bRc - aRc;
157
+ });
158
+ if (rcVersions.length > 0) {
159
+ return rcVersions[0];
160
+ }
161
+ throw new Error("No RC version found");
162
+ }
163
+ // For stable versions, find the actual latest stable version
164
+ // This handles the case where latest tag might point to an older version
165
+ // but there's a newer stable version available
166
+ const allVersions = Object.keys(registryData.versions);
167
+ const stableVersions = allVersions
168
+ .filter((v) => !v.includes("-rc") && !v.includes("-beta") && !v.includes("-alpha"))
169
+ .sort((a, b) => {
170
+ const aParts = a.split(".").map(Number);
171
+ const bParts = b.split(".").map(Number);
172
+ const maxLen = Math.max(aParts.length, bParts.length);
173
+ for (let i = 0; i < maxLen; i++) {
174
+ const aVal = aParts[i] || 0;
175
+ const bVal = bParts[i] || 0;
176
+ if (aVal !== bVal) {
177
+ return bVal - aVal; // Descending order
178
+ }
179
+ }
180
+ return 0;
181
+ });
182
+ // Return the highest stable version, or fall back to latest tag
183
+ return stableVersions.length > 0 ? stableVersions[0] : registryData["dist-tags"].latest;
184
+ }
185
+ /**
186
+ * Compare two version strings
187
+ * Returns: -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2
188
+ */
189
+ function compareVersions(v1, v2) {
190
+ // Parse version parts
191
+ const parseVersion = (v) => {
192
+ const match = v.match(/^(\d+)\.(\d+)\.(\d+)(?:-rc\.?(\d+))?$/);
193
+ if (match) {
194
+ return {
195
+ major: parseInt(match[1]),
196
+ minor: parseInt(match[2]),
197
+ patch: parseInt(match[3]),
198
+ rc: match[4] ? parseInt(match[4]) : null,
199
+ };
200
+ }
201
+ // Fallback for non-standard versions
202
+ const parts = v.split("-")[0].split(".").map(Number);
203
+ return {
204
+ major: parts[0] || 0,
205
+ minor: parts[1] || 0,
206
+ patch: parts[2] || 0,
207
+ rc: null,
208
+ };
209
+ };
210
+ const v1Parsed = parseVersion(v1);
211
+ const v2Parsed = parseVersion(v2);
212
+ // Compare major, minor, patch
213
+ if (v1Parsed.major !== v2Parsed.major) {
214
+ return v1Parsed.major < v2Parsed.major ? -1 : 1;
215
+ }
216
+ if (v1Parsed.minor !== v2Parsed.minor) {
217
+ return v1Parsed.minor < v2Parsed.minor ? -1 : 1;
218
+ }
219
+ if (v1Parsed.patch !== v2Parsed.patch) {
220
+ return v1Parsed.patch < v2Parsed.patch ? -1 : 1;
221
+ }
222
+ // If base versions are equal, compare RC status
223
+ // Stable versions (no RC) are considered newer than RC versions of the SAME base version
224
+ // But if the RC is for a higher patch version (e.g., 0.3.0-rc.24 is RC for 0.3.1),
225
+ // we need to check if there's a newer stable version available
226
+ if (v1Parsed.rc === null && v2Parsed.rc !== null) {
227
+ // v1 is stable, v2 is RC - stable is newer if same base
228
+ return 1; // v1 is stable, v2 is RC, so v1 > v2
229
+ }
230
+ if (v1Parsed.rc !== null && v2Parsed.rc === null) {
231
+ // v1 is RC, v2 is stable - if same base version, stable is newer
232
+ // But if RC base version suggests a future release (e.g., 0.3.0-rc.24 for 0.3.1),
233
+ // we should check if there's a newer stable version
234
+ // For now, if base versions match, stable wins
235
+ // If they don't match, the higher version wins (handled above)
236
+ return -1; // v1 is RC, v2 is stable with same base, so v1 < v2
237
+ }
238
+ if (v1Parsed.rc !== null && v2Parsed.rc !== null) {
239
+ // Both are RC, compare RC numbers
240
+ if (v1Parsed.rc !== v2Parsed.rc) {
241
+ return v1Parsed.rc < v2Parsed.rc ? -1 : 1;
242
+ }
243
+ }
244
+ return 0; // Versions are identical
245
+ }
246
+ /**
247
+ * Execute update command based on installation method
248
+ */
249
+ function executeUpdate(method, version, json) {
250
+ let command;
251
+ switch (method) {
252
+ case "npm":
253
+ command = `npm install -g httpcat-cli@${version}`;
254
+ break;
255
+ case "yarn":
256
+ command = `yarn global add httpcat-cli@${version}`;
257
+ break;
258
+ case "homebrew":
259
+ // Homebrew doesn't support version pinning, always upgrades to latest
260
+ command = "brew upgrade httpcat";
261
+ break;
262
+ case "local":
263
+ throw new Error("Cannot update local development installation. Please run:\n git pull && yarn install && yarn build");
264
+ default:
265
+ throw new Error(`Unknown installation method: ${method}`);
266
+ }
267
+ if (json) {
268
+ console.log(JSON.stringify({ command, version, method }, null, 2));
269
+ return;
270
+ }
271
+ console.log(chalk.cyan(`Running: ${command}`));
272
+ console.log();
273
+ try {
274
+ execSync(command, { stdio: "inherit" });
275
+ }
276
+ catch (error) {
277
+ if (error.status === 1) {
278
+ // Command failed - might be permission issue
279
+ const errorMsg = error.message || String(error);
280
+ if (errorMsg.includes("EACCES") || errorMsg.includes("permission")) {
281
+ throw new Error(`Permission denied. Try running with sudo:\n sudo ${command}`);
282
+ }
283
+ }
284
+ throw error;
285
+ }
286
+ }
287
+ /**
288
+ * Create the update command
289
+ */
290
+ export function createUpdateCommand() {
291
+ const updateCommand = new Command("update")
292
+ .description("Update httpcat CLI to the latest version (detects installation method automatically)")
293
+ .option("--rc", "Update to the latest RC (release candidate) version")
294
+ .addHelpText("after", `
295
+ Examples:
296
+ httpcat config update # Update to latest stable version
297
+ httpcat config update --rc # Update to latest RC version
298
+
299
+ This command automatically detects your installation method (npm, yarn, homebrew, or local)
300
+ and performs the appropriate update. It checks the npm registry for the latest version
301
+ and compares it with your current version before updating.
302
+
303
+ Supported installation methods:
304
+ • npm (global) - Uses 'npm install -g httpcat-cli@<version>'
305
+ • yarn (global) - Uses 'yarn global add httpcat-cli@<version>'
306
+ • homebrew - Uses 'brew upgrade httpcat'
307
+ • local - Shows instructions for manual update
308
+
309
+ The command will:
310
+ 1. Detect your current installation method
311
+ 2. Check for the latest available version
312
+ 3. Compare with your current version
313
+ 4. Update if a newer version is available
314
+ 5. Show success message or error if update fails
315
+ `)
316
+ .action(async (options, command) => {
317
+ try {
318
+ const globalOpts = command.parent?.opts() || {};
319
+ const json = globalOpts.json || false;
320
+ const rc = options.rc || false;
321
+ if (!json) {
322
+ console.log();
323
+ console.log(chalk.cyan.bold("🔧 httpcat Update"));
324
+ console.log();
325
+ }
326
+ // Get current version
327
+ const currentVersion = CURRENT_VERSION;
328
+ if (!json) {
329
+ console.log(chalk.dim(`Current version: ${chalk.white(currentVersion)}`));
330
+ }
331
+ // Detect installation method
332
+ const method = detectInstallationMethod();
333
+ if (!json) {
334
+ console.log(chalk.dim(`Installation method: ${chalk.white(method)}`));
335
+ }
336
+ // Fetch latest version
337
+ if (!json) {
338
+ console.log(chalk.dim(`Checking for ${rc ? "latest RC" : "latest stable"} version...`));
339
+ }
340
+ const latestVersion = await getLatestVersion(rc);
341
+ if (!json) {
342
+ console.log(chalk.dim(`Available version: ${chalk.white(latestVersion)}`));
343
+ console.log();
344
+ }
345
+ // Compare versions
346
+ const comparison = compareVersions(currentVersion, latestVersion);
347
+ // Check if current version is an RC and latest stable has same base version
348
+ // In this case, the RC is actually newer (it's a release candidate for the next version)
349
+ const currentIsRc = currentVersion.includes("-rc");
350
+ const latestIsStable = !latestVersion.includes("-rc");
351
+ if (currentIsRc && latestIsStable) {
352
+ const currentBase = currentVersion.split("-rc")[0];
353
+ const latestBase = latestVersion.split("-")[0];
354
+ if (currentBase === latestBase) {
355
+ // RC version is newer than the stable with same base version
356
+ // This means the RC is for a future release (e.g., 0.3.0-rc.24 is for 0.3.1)
357
+ if (json) {
358
+ console.log(JSON.stringify({
359
+ current: currentVersion,
360
+ latest: latestVersion,
361
+ method,
362
+ upToDate: true,
363
+ message: "RC version is newer than latest stable with same base version",
364
+ }, null, 2));
365
+ }
366
+ else {
367
+ console.log(chalk.yellow(`⚠️ You're on ${currentVersion}, which is a release candidate for a future version.`));
368
+ console.log(chalk.dim(` The latest stable version is ${latestVersion}, but your RC version is newer.`));
369
+ console.log(chalk.dim(` Wait for the stable release (e.g., 0.3.1) or use --rc to check for newer RCs.`));
370
+ }
371
+ process.exit(0);
372
+ }
373
+ }
374
+ if (comparison >= 0) {
375
+ // Already on latest or newer
376
+ if (json) {
377
+ console.log(JSON.stringify({
378
+ current: currentVersion,
379
+ latest: latestVersion,
380
+ method,
381
+ upToDate: true,
382
+ }, null, 2));
383
+ }
384
+ else {
385
+ console.log(chalk.green(`✅ Already on ${rc ? "latest RC" : "latest"} version (${currentVersion})`));
386
+ }
387
+ process.exit(0);
388
+ }
389
+ // Show update info
390
+ if (json) {
391
+ console.log(JSON.stringify({
392
+ current: currentVersion,
393
+ latest: latestVersion,
394
+ method,
395
+ upToDate: false,
396
+ }, null, 2));
397
+ }
398
+ else {
399
+ console.log(chalk.yellow(`Updating from ${currentVersion} to ${latestVersion}...`));
400
+ console.log();
401
+ }
402
+ // Execute update
403
+ executeUpdate(method, latestVersion, json);
404
+ if (!json) {
405
+ console.log();
406
+ console.log(chalk.green(`✅ Successfully updated to ${latestVersion}!`));
407
+ console.log();
408
+ }
409
+ process.exit(0);
410
+ }
411
+ catch (error) {
412
+ const globalOpts = command.parent?.opts() || {};
413
+ const json = globalOpts.json || false;
414
+ if (json) {
415
+ console.error(JSON.stringify({
416
+ error: error.message || String(error),
417
+ }, null, 2));
418
+ }
419
+ else {
420
+ console.error();
421
+ console.error(chalk.red(`❌ Update failed: ${error.message || String(error)}`));
422
+ console.error();
423
+ }
424
+ process.exit(1);
425
+ }
426
+ });
427
+ return updateCommand;
428
+ }
429
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -137,6 +137,13 @@ export class ConfigManager {
137
137
  });
138
138
  // Always sync from correct location to Conf's location on init
139
139
  // This ensures Conf reads the right data
140
+ // If config file doesn't exist, create it with defaults
141
+ if (!fs.existsSync(this.configPath)) {
142
+ // Ensure directory exists
143
+ fs.mkdirSync(path.dirname(this.configPath), { recursive: true });
144
+ // Write defaults to config file
145
+ fs.writeFileSync(this.configPath, JSON.stringify(DEFAULT_CONFIG, null, 2));
146
+ }
140
147
  if (fs.existsSync(this.configPath)) {
141
148
  try {
142
149
  // Validate JSON before copying
@@ -522,17 +529,30 @@ export class ConfigManager {
522
529
  console.log(chalk.cyan("=".repeat(80)));
523
530
  console.log();
524
531
  if (!options.skipPrivateKey) {
525
- // Use the nice wallet setup wizard instead of directly asking for private key
526
- const { promptForPrivateKey } = await import("./utils/privateKeyPrompt.js");
527
- await promptForPrivateKey();
528
- console.log();
532
+ // Check if import mode is enabled via environment variable
533
+ if (process.env.HTTPCAT_IMPORT_MODE === "true") {
534
+ // Use the nice wallet setup wizard instead of directly asking for private key
535
+ const { promptForPrivateKey } = await import("./utils/privateKeyPrompt.js");
536
+ await promptForPrivateKey();
537
+ console.log();
538
+ }
539
+ else {
540
+ // Auto-generate seed phrase for new users
541
+ const { autoSetupWallet } = await import("./utils/autoSetup.js");
542
+ await autoSetupWallet();
543
+ console.log();
544
+ }
529
545
  }
530
546
  // Network selection
531
- const network = "eip155:84532";
547
+ const network = "eip155:8453";
532
548
  this.set("network", network);
533
549
  console.log(chalk.green(`✅ Network set to: ${this.caip2ToNetwork(network)} (${network}) (testnet)\n`));
534
- // Agent URL
535
- const defaultUrl = "https://agent.402.cat";
550
+ // Agent URL - use correct default based on network
551
+ // base-sepolia (eip155:84532) -> testnet URL
552
+ // base (eip155:8453) -> mainnet URL
553
+ const defaultUrl = network === "eip155:8453"
554
+ ? "https://agent-main.402.cat"
555
+ : "https://agent-test.402.cat";
536
556
  const agentUrl = await this.prompt(`Agent URL [${defaultUrl}]: `, defaultUrl);
537
557
  this.set("agentUrl", agentUrl);
538
558
  console.log(chalk.green(`✅ Agent URL set to: ${agentUrl}\n`));
@@ -549,6 +569,68 @@ export class ConfigManager {
549
569
  console.log();
550
570
  console.log(chalk.dim(`Config saved to: ${this.getConfigPath()}`));
551
571
  console.log();
572
+ // Shell setup (completion and alias)
573
+ await this.promptShellSetup();
574
+ }
575
+ async promptShellSetup() {
576
+ try {
577
+ const { detectShell, installShellCompletion, installHcAlias } = await import("./utils/shell-setup.js");
578
+ const shell = detectShell();
579
+ if (shell === "unknown") {
580
+ console.log(chalk.yellow("⚠️ Could not detect shell type. Skipping shell setup."));
581
+ console.log();
582
+ return;
583
+ }
584
+ // Prompt for completion installation
585
+ const installCompletion = await this.prompt(`Install shell autocompletion for ${shell}? [Y/n]: `, "y");
586
+ if (installCompletion.toLowerCase() !== "n") {
587
+ console.log(chalk.cyan("Installing shell completion..."));
588
+ const success = installShellCompletion();
589
+ if (success) {
590
+ console.log(chalk.green(`✅ Shell completion installed for ${shell}!`));
591
+ console.log(chalk.dim(" Restart your terminal or run: source ~/." +
592
+ (shell === "zsh" ? "zshrc" : "bashrc")));
593
+ }
594
+ else {
595
+ console.log(chalk.yellow("⚠️ Failed to install shell completion. You can install it manually later with:"));
596
+ console.log(chalk.dim(` httpcat completion ${shell} >> ~/.${shell === "zsh" ? "zshrc" : "bashrc"}`));
597
+ }
598
+ console.log();
599
+ }
600
+ // Prompt for alias creation
601
+ const createAlias = await this.prompt("Create 'hc' alias for httpcat? [Y/n]: ", "y");
602
+ if (createAlias.toLowerCase() !== "n") {
603
+ console.log(chalk.cyan("Creating 'hc' alias..."));
604
+ const result = installHcAlias();
605
+ if (result.success) {
606
+ if (result.method === "symlink") {
607
+ console.log(chalk.green("✅ 'hc' alias created (symlink)!"));
608
+ console.log(chalk.dim(" You can now use 'hc' instead of 'httpcat' immediately."));
609
+ }
610
+ else {
611
+ console.log(chalk.green("✅ 'hc' alias created (shell alias)!"));
612
+ console.log(chalk.dim(" You can now use 'hc' instead of 'httpcat'. Restart your terminal or run:"));
613
+ if (shell === "zsh") {
614
+ console.log(chalk.dim(" source ~/.zshrc"));
615
+ }
616
+ else {
617
+ console.log(chalk.dim(" source ~/.bashrc"));
618
+ }
619
+ }
620
+ }
621
+ else {
622
+ console.log(chalk.yellow("⚠️ Failed to create 'hc' alias. You can create it manually with:"));
623
+ console.log(chalk.dim(` alias hc='httpcat'`));
624
+ console.log(chalk.dim(` Add this to your ~/.${shell === "zsh" ? "zshrc" : "bashrc"} file`));
625
+ }
626
+ console.log();
627
+ }
628
+ }
629
+ catch (error) {
630
+ // Non-fatal error - don't break the wizard
631
+ console.log(chalk.yellow("⚠️ Shell setup skipped due to error (non-fatal)"));
632
+ console.log();
633
+ }
552
634
  }
553
635
  prompt(question, defaultValue) {
554
636
  return new Promise((resolve) => {
@@ -864,7 +946,7 @@ export class ConfigManager {
864
946
  // Clear agent info cache since we switched environments
865
947
  this.clearAgentInfoCache();
866
948
  }
867
- addEnvironment(name, agentUrl, network = "eip155:84532") {
949
+ addEnvironment(name, agentUrl, network = "eip155:8453") {
868
950
  const envs = this.getEnvironments();
869
951
  if (envs[name]) {
870
952
  throw new Error(`Environment "${name}" already exists. Use a different name.`);
@@ -876,7 +958,7 @@ export class ConfigManager {
876
958
  };
877
959
  this.set("environments", envs);
878
960
  }
879
- updateEnvironment(name, agentUrl, network = "eip155:84532") {
961
+ updateEnvironment(name, agentUrl, network = "eip155:8453") {
880
962
  const envs = this.getEnvironments();
881
963
  if (!envs[name]) {
882
964
  throw new Error(`Environment "${name}" does not exist. Use "httpcat env add" to create it.`);