httpcat-cli 0.2.12 → 0.2.13-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 (62) hide show
  1. package/README.md +346 -13
  2. package/Screenshot 2025-12-21 at 8.56.02/342/200/257PM.png +0 -0
  3. package/bun.lock +5 -0
  4. package/cat-spin.sh +417 -0
  5. package/dist/agent/ax-agent.d.ts.map +1 -0
  6. package/dist/agent/ax-agent.js +459 -0
  7. package/dist/agent/ax-agent.js.map +1 -0
  8. package/dist/agent/llm-factory.d.ts.map +1 -0
  9. package/dist/agent/llm-factory.js +82 -0
  10. package/dist/agent/llm-factory.js.map +1 -0
  11. package/dist/agent/setup-wizard.d.ts.map +1 -0
  12. package/dist/agent/setup-wizard.js +114 -0
  13. package/dist/agent/setup-wizard.js.map +1 -0
  14. package/dist/agent/tools.d.ts.map +1 -0
  15. package/dist/agent/tools.js +393 -0
  16. package/dist/agent/tools.js.map +1 -0
  17. package/dist/client.d.ts.map +1 -1
  18. package/dist/client.js +18 -0
  19. package/dist/client.js.map +1 -1
  20. package/dist/commands/balances.js +1 -1
  21. package/dist/commands/balances.js.map +1 -1
  22. package/dist/commands/buy.d.ts.map +1 -1
  23. package/dist/commands/buy.js +11 -6
  24. package/dist/commands/buy.js.map +1 -1
  25. package/dist/commands/chat.d.ts.map +1 -1
  26. package/dist/commands/chat.js +56 -46
  27. package/dist/commands/chat.js.map +1 -1
  28. package/dist/commands/create.d.ts.map +1 -1
  29. package/dist/commands/create.js +133 -5
  30. package/dist/commands/create.js.map +1 -1
  31. package/dist/commands/info.d.ts.map +1 -1
  32. package/dist/commands/info.js +3 -2
  33. package/dist/commands/info.js.map +1 -1
  34. package/dist/commands/positions.d.ts.map +1 -1
  35. package/dist/commands/positions.js +51 -54
  36. package/dist/commands/positions.js.map +1 -1
  37. package/dist/commands/sell.d.ts.map +1 -1
  38. package/dist/commands/sell.js +4 -3
  39. package/dist/commands/sell.js.map +1 -1
  40. package/dist/config.d.ts.map +1 -1
  41. package/dist/config.js +91 -0
  42. package/dist/config.js.map +1 -1
  43. package/dist/index.js +455 -37
  44. package/dist/index.js.map +1 -1
  45. package/dist/interactive/cat-spin.d.ts.map +1 -0
  46. package/dist/interactive/cat-spin.js +448 -0
  47. package/dist/interactive/cat-spin.js.map +1 -0
  48. package/dist/interactive/shell.d.ts.map +1 -1
  49. package/dist/interactive/shell.js +1647 -154
  50. package/dist/interactive/shell.js.map +1 -1
  51. package/dist/mcp/server.js +1 -1
  52. package/dist/mcp/tools.d.ts.map +1 -1
  53. package/dist/mcp/tools.js +107 -6
  54. package/dist/mcp/tools.js.map +1 -1
  55. package/dist/mcp/types.d.ts.map +1 -1
  56. package/dist/utils/loading.d.ts.map +1 -1
  57. package/dist/utils/loading.js +30 -0
  58. package/dist/utils/loading.js.map +1 -1
  59. package/dist/utils/token-resolver.d.ts.map +1 -1
  60. package/dist/utils/token-resolver.js +41 -0
  61. package/dist/utils/token-resolver.js.map +1 -1
  62. package/package.json +2 -1
@@ -1,5 +1,6 @@
1
1
  import ora from "ora";
2
2
  import chalk from "chalk";
3
+ import { HttpcatError } from "../client.js";
3
4
  // Custom cat-themed spinner frames
4
5
  const CAT_SPINNER_FRAMES = ["🐱 ", " 🐱 ", " 🐱 ", " 🐱", " 🐱 ", " 🐱 "];
5
6
  // Fallback spinner for terminals that don't support emoji
@@ -28,6 +29,10 @@ function createSpinner(options) {
28
29
  * Wraps an async operation with a loading spinner
29
30
  * Automatically handles stdin blocking and respects json/quiet flags
30
31
  *
32
+ * Note: For 402 (Payment Required) errors, we add a small delay and retry
33
+ * because x402-fetch handles payments automatically but there may be a
34
+ * brief moment where the error surfaces before the payment completes.
35
+ *
31
36
  * @param operation - The async operation to execute
32
37
  * @param options - Loading options including message and flags
33
38
  * @returns The result of the operation
@@ -45,6 +50,31 @@ export async function withLoading(operation, options) {
45
50
  return result;
46
51
  }
47
52
  catch (error) {
53
+ // Special handling for 402 errors: x402-fetch handles payments automatically,
54
+ // but there may be a brief moment where the error surfaces before the payment completes.
55
+ // If we get a 402, wait a moment and retry once to give x402-fetch time to complete the payment.
56
+ if (error instanceof HttpcatError && error.status === 402) {
57
+ // Don't mark spinner as failed yet - we'll retry
58
+ // Wait a short time for x402-fetch to complete payment processing
59
+ await new Promise(resolve => setTimeout(resolve, 1500));
60
+ try {
61
+ // Retry the operation once
62
+ const retryResult = await operation();
63
+ // If retry succeeded, update spinner to success (spinner is still running)
64
+ if (spinner) {
65
+ spinner.succeed();
66
+ }
67
+ return retryResult;
68
+ }
69
+ catch (retryError) {
70
+ // If retry also failed, fall through to normal error handling
71
+ if (spinner) {
72
+ spinner.fail();
73
+ }
74
+ throw retryError;
75
+ }
76
+ }
77
+ // Normal error handling for non-402 errors
48
78
  if (spinner) {
49
79
  spinner.fail();
50
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../src/utils/loading.ts"],"names":[],"mappings":"AAAA,OAAO,GAAY,MAAM,KAAK,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,mCAAmC;AACnC,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAElF,0DAA0D;AAC1D,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AASnF;;;GAGG;AACH,SAAS,aAAa,CAAC,OAAuB;IAC5C,2CAA2C;IAC3C,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2BAA2B;IAC3B,MAAM,MAAM,GACV,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAE3E,MAAM,OAAO,GAAG,GAAG,CAAC;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,mBAAmB;QACtD,OAAO,EAAE;YACP,QAAQ,EAAE,GAAG,EAAE,uCAAuC;YACtD,MAAM,EAAE,MAAM;SACf;KACF,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,SAA2B,EAC3B,OAAuB;IAEvB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QAEjC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../src/utils/loading.ts"],"names":[],"mappings":"AAAA,OAAO,GAAY,MAAM,KAAK,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,mCAAmC;AACnC,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAElF,0DAA0D;AAC1D,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AASnF;;;GAGG;AACH,SAAS,aAAa,CAAC,OAAuB;IAC5C,2CAA2C;IAC3C,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2BAA2B;IAC3B,MAAM,MAAM,GACV,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAE3E,MAAM,OAAO,GAAG,GAAG,CAAC;QAClB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,mBAAmB;QACtD,OAAO,EAAE;YACP,QAAQ,EAAE,GAAG,EAAE,uCAAuC;YACtD,MAAM,EAAE,MAAM;SACf;KACF,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,SAA2B,EAC3B,OAAuB;IAEvB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QAEjC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,8EAA8E;QAC9E,yFAAyF;QACzF,iGAAiG;QACjG,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1D,iDAAiD;YACjD,kEAAkE;YAClE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAExD,IAAI,CAAC;gBACH,2BAA2B;gBAC3B,MAAM,WAAW,GAAG,MAAM,SAAS,EAAE,CAAC;gBAEtC,2EAA2E;gBAC3E,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,CAAC;gBAED,OAAO,WAAW,CAAC;YACrB,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,8DAA8D;gBAC9D,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,CAAC;gBACD,MAAM,UAAU,CAAC;YACnB,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"token-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/token-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EACrB,MAAM,UAAQ,GACb,OAAO,CAAC,MAAM,CAAC,CAmHjB"}
1
+ {"version":3,"file":"token-resolver.d.ts","sourceRoot":"","sources":["../../src/utils/token-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK7C;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EACrB,MAAM,UAAQ,GACb,OAAO,CAAC,MAAM,CAAC,CAkKjB"}
@@ -1,5 +1,6 @@
1
1
  import { listTokens } from '../commands/list.js';
2
2
  import chalk from 'chalk';
3
+ import { config } from '../config.js';
3
4
  /**
4
5
  * Resolves a token identifier (ID, name, or symbol) to a token ID
5
6
  *
@@ -9,8 +10,15 @@ import chalk from 'chalk';
9
10
  * @returns Promise resolving to the token ID (UUID)
10
11
  */
11
12
  export async function resolveTokenId(identifier, client, silent = false) {
13
+ // Validate input
14
+ if (!identifier || typeof identifier !== "string") {
15
+ throw new Error(`Invalid token identifier: expected non-empty string, got ${JSON.stringify(identifier)} (type: ${typeof identifier})`);
16
+ }
12
17
  // Check if it's a UUID (token ID) - trim first to handle whitespace
13
18
  const trimmedIdentifier = identifier.trim();
19
+ if (trimmedIdentifier === "") {
20
+ throw new Error("Token identifier cannot be empty or whitespace only");
21
+ }
14
22
  const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
15
23
  if (uuidRegex.test(trimmedIdentifier)) {
16
24
  return trimmedIdentifier;
@@ -21,6 +29,15 @@ export async function resolveTokenId(identifier, client, silent = false) {
21
29
  // If it's NOT a UUID or address, try resolving via the backend token_info endpoint.
22
30
  // This avoids relying on list_tokens pagination / sorting.
23
31
  if (!isAddress) {
32
+ // Log what we're sending for debugging
33
+ if (process.env.DEBUG) {
34
+ console.log(chalk.dim(`[token-resolver] Calling token_info with identifier: "${trimmedIdentifier}"`));
35
+ }
36
+ // Double-check we're not sending empty string (should be caught above, but being defensive)
37
+ if (!trimmedIdentifier || trimmedIdentifier === '') {
38
+ console.warn(chalk.yellow(`⚠️ [token-resolver] Attempted to send empty identifier to token_info`));
39
+ throw new Error('Cannot resolve token: identifier is empty');
40
+ }
24
41
  try {
25
42
  const { data } = await client.invoke('token_info', {
26
43
  tokenIdentifier: trimmedIdentifier,
@@ -90,6 +107,30 @@ export async function resolveTokenId(identifier, client, silent = false) {
90
107
  }
91
108
  return trimmedIdentifier;
92
109
  }
110
+ // Before giving up, check if this is the platform token (e.g., "CAT")
111
+ // Fetch from agent info endpoint
112
+ if (trimmedIdentifier.toLowerCase() === 'cat') {
113
+ try {
114
+ const agentUrl = config.getAgentUrl();
115
+ const agentInfoResponse = await fetch(`${agentUrl}/api/agent/info`);
116
+ if (agentInfoResponse.ok) {
117
+ const agentInfo = await agentInfoResponse.json();
118
+ const catTokenAddress = agentInfo.catTokenAddress;
119
+ if (catTokenAddress) {
120
+ if (!silent) {
121
+ console.log(chalk.dim(`✅ Found platform token: CAT`));
122
+ }
123
+ return catTokenAddress;
124
+ }
125
+ }
126
+ }
127
+ catch (error) {
128
+ // If we can't fetch platform token, continue to error below
129
+ if (process.env.DEBUG) {
130
+ console.warn('Failed to fetch platform token address:', error);
131
+ }
132
+ }
133
+ }
93
134
  // Not found anywhere
94
135
  throw new Error(`No token found with name or symbol: "${trimmedIdentifier}". ` +
95
136
  `Please check the token name/symbol or use address, name, or symbol.`);
@@ -1 +1 @@
1
- {"version":3,"file":"token-resolver.js","sourceRoot":"","sources":["../../src/utils/token-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-resolver.js","sourceRoot":"","sources":["../../src/utils/token-resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "httpcat-cli",
3
- "version": "0.2.12",
3
+ "version": "0.2.13-rc.1",
4
4
  "description": "CLI tool for interacting with httpcat agent - create, buy, and sell tokens with x402 payments",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -39,6 +39,7 @@
39
39
  "url": "https://github.com/hathbanger/httpcat-cli/issues"
40
40
  },
41
41
  "dependencies": {
42
+ "@ax-llm/ax": "^15.1.1",
42
43
  "@modelcontextprotocol/sdk": "^1.23.0",
43
44
  "@scure/bip32": "^2.0.1",
44
45
  "@scure/bip39": "^2.0.1",