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.
- package/.github/workflows/sync-version.yml +19 -3
- package/README.md +346 -13
- package/Screenshot 2025-12-21 at 8.56.02/342/200/257PM.png +0 -0
- package/bun.lock +8 -1
- package/cat-spin.sh +417 -0
- package/dist/agent/ax-agent.d.ts.map +1 -0
- package/dist/agent/ax-agent.js +459 -0
- package/dist/agent/ax-agent.js.map +1 -0
- package/dist/agent/llm-factory.d.ts.map +1 -0
- package/dist/agent/llm-factory.js +82 -0
- package/dist/agent/llm-factory.js.map +1 -0
- package/dist/agent/setup-wizard.d.ts.map +1 -0
- package/dist/agent/setup-wizard.js +114 -0
- package/dist/agent/setup-wizard.js.map +1 -0
- package/dist/agent/tools.d.ts.map +1 -0
- package/dist/agent/tools.js +312 -0
- package/dist/agent/tools.js.map +1 -0
- package/dist/commands/balances.d.ts.map +1 -1
- package/dist/commands/balances.js +43 -41
- package/dist/commands/balances.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +56 -46
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +133 -5
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/positions.d.ts.map +1 -1
- package/dist/commands/positions.js +51 -54
- package/dist/commands/positions.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +296 -20
- package/dist/config.js.map +1 -1
- package/dist/index.js +301 -13
- package/dist/index.js.map +1 -1
- package/dist/interactive/cat-spin.d.ts.map +1 -0
- package/dist/interactive/cat-spin.js +448 -0
- package/dist/interactive/cat-spin.js.map +1 -0
- package/dist/interactive/shell.d.ts.map +1 -1
- package/dist/interactive/shell.js +2001 -180
- package/dist/interactive/shell.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +1 -6
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/utils/loading.d.ts.map +1 -1
- package/dist/utils/loading.js +30 -0
- package/dist/utils/loading.js.map +1 -1
- package/dist/utils/privateKeyPrompt.d.ts.map +1 -1
- package/dist/utils/privateKeyPrompt.js +13 -9
- package/dist/utils/privateKeyPrompt.js.map +1 -1
- package/dist/utils/token-resolver.d.ts.map +1 -1
- package/dist/utils/token-resolver.js +32 -0
- package/dist/utils/token-resolver.js.map +1 -1
- package/package.json +3 -1
|
@@ -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;
|
|
@@ -90,6 +98,30 @@ export async function resolveTokenId(identifier, client, silent = false) {
|
|
|
90
98
|
}
|
|
91
99
|
return trimmedIdentifier;
|
|
92
100
|
}
|
|
101
|
+
// Before giving up, check if this is the platform token (e.g., "CAT")
|
|
102
|
+
// Fetch from agent info endpoint
|
|
103
|
+
if (trimmedIdentifier.toLowerCase() === 'cat') {
|
|
104
|
+
try {
|
|
105
|
+
const agentUrl = config.getAgentUrl();
|
|
106
|
+
const agentInfoResponse = await fetch(`${agentUrl}/api/agent/info`);
|
|
107
|
+
if (agentInfoResponse.ok) {
|
|
108
|
+
const agentInfo = await agentInfoResponse.json();
|
|
109
|
+
const catTokenAddress = agentInfo.catTokenAddress;
|
|
110
|
+
if (catTokenAddress) {
|
|
111
|
+
if (!silent) {
|
|
112
|
+
console.log(chalk.dim(`✅ Found platform token: CAT`));
|
|
113
|
+
}
|
|
114
|
+
return catTokenAddress;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
// If we can't fetch platform token, continue to error below
|
|
120
|
+
if (process.env.DEBUG) {
|
|
121
|
+
console.warn('Failed to fetch platform token address:', error);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
93
125
|
// Not found anywhere
|
|
94
126
|
throw new Error(`No token found with name or symbol: "${trimmedIdentifier}". ` +
|
|
95
127
|
`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":"AACA,OAAO,EAAE,UAAU,EAAsB,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
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.
|
|
3
|
+
"version": "0.2.12-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",
|
|
@@ -47,6 +48,7 @@
|
|
|
47
48
|
"commander": "^14.0.2",
|
|
48
49
|
"conf": "^15.0.2",
|
|
49
50
|
"global": "^4.4.0",
|
|
51
|
+
"httpcat-cli": "^0.2.11",
|
|
50
52
|
"inquirer": "^9.2.12",
|
|
51
53
|
"neo-blessed": "^0.2.0",
|
|
52
54
|
"ora": "^9.0.0",
|