@123456btc/123456btc-cli 1.0.0 → 1.0.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/dist/commands/gas.d.ts.map +1 -1
- package/dist/commands/gas.js +10 -9
- package/dist/commands/gas.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +29 -26
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/strategy.d.ts.map +1 -1
- package/dist/commands/strategy.js +10 -9
- package/dist/commands/strategy.js.map +1 -1
- package/dist/utils/auth.d.ts +9 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +26 -0
- package/dist/utils/auth.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../src/commands/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../src/commands/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QA6GhD"}
|
package/dist/commands/gas.js
CHANGED
|
@@ -4,16 +4,20 @@ exports.createGasCommand = createGasCommand;
|
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const client_1 = require("../api/client");
|
|
6
6
|
const gas_1 = require("../api/gas");
|
|
7
|
-
const
|
|
7
|
+
const auth_1 = require("../utils/auth");
|
|
8
8
|
function createGasCommand(program) {
|
|
9
9
|
const gasCmd = new commander_1.Command('gas');
|
|
10
|
+
// Helper to get authenticated client
|
|
11
|
+
function getClient() {
|
|
12
|
+
const creds = (0, auth_1.checkAuth)();
|
|
13
|
+
return new client_1.ApiClient(creds.baseUrl, creds.apiKey);
|
|
14
|
+
}
|
|
10
15
|
// Balance
|
|
11
16
|
gasCmd
|
|
12
17
|
.command('balance')
|
|
13
18
|
.description('Show gas balance')
|
|
14
19
|
.action(async () => {
|
|
15
|
-
const
|
|
16
|
-
const client = new client_1.ApiClient(credentials.baseUrl, credentials.apiKey);
|
|
20
|
+
const client = getClient();
|
|
17
21
|
const gasApi = new gas_1.GasApi(client);
|
|
18
22
|
const response = await gasApi.getBalance();
|
|
19
23
|
if (response.success && response.data) {
|
|
@@ -31,8 +35,7 @@ function createGasCommand(program) {
|
|
|
31
35
|
.command('settle <dispatchId>')
|
|
32
36
|
.description('Settle gas fees for a completed strategy')
|
|
33
37
|
.action(async (dispatchId) => {
|
|
34
|
-
const
|
|
35
|
-
const client = new client_1.ApiClient(credentials.baseUrl, credentials.apiKey);
|
|
38
|
+
const client = getClient();
|
|
36
39
|
const gasApi = new gas_1.GasApi(client);
|
|
37
40
|
const response = await gasApi.settle(dispatchId);
|
|
38
41
|
if (response.success && response.data) {
|
|
@@ -55,8 +58,7 @@ function createGasCommand(program) {
|
|
|
55
58
|
.description('Show gas transaction history')
|
|
56
59
|
.option('--limit <number>', 'Limit results', '20')
|
|
57
60
|
.action(async (options) => {
|
|
58
|
-
const
|
|
59
|
-
const client = new client_1.ApiClient(credentials.baseUrl, credentials.apiKey);
|
|
61
|
+
const client = getClient();
|
|
60
62
|
const gasApi = new gas_1.GasApi(client);
|
|
61
63
|
const response = await gasApi.getTransactions({
|
|
62
64
|
limit: parseInt(options.limit),
|
|
@@ -85,8 +87,7 @@ function createGasCommand(program) {
|
|
|
85
87
|
.description('Top up gas balance')
|
|
86
88
|
.option('--currency <type>', 'Currency: SOL or USDC', 'SOL')
|
|
87
89
|
.action(async (amount, options) => {
|
|
88
|
-
const
|
|
89
|
-
const client = new client_1.ApiClient(credentials.baseUrl, credentials.apiKey);
|
|
90
|
+
const client = getClient();
|
|
90
91
|
const gasApi = new gas_1.GasApi(client);
|
|
91
92
|
const response = await gasApi.topUp(parseFloat(amount), options.currency);
|
|
92
93
|
if (response.success && response.data) {
|
package/dist/commands/gas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas.js","sourceRoot":"","sources":["../../src/commands/gas.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"gas.js","sourceRoot":"","sources":["../../src/commands/gas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QA4HpD"}
|
package/dist/commands/install.js
CHANGED
|
@@ -42,9 +42,36 @@ const inquirer_1 = __importDefault(require("inquirer"));
|
|
|
42
42
|
const axios_1 = __importDefault(require("axios"));
|
|
43
43
|
const fs = __importStar(require("fs"));
|
|
44
44
|
const path = __importStar(require("path"));
|
|
45
|
+
const auth_1 = require("../utils/auth");
|
|
45
46
|
const PACKAGES_DIR = path.join(process.env.HOME || process.env.USERPROFILE || '.', '.123456btc-cli', 'packages');
|
|
46
47
|
function createInstallCommand(program) {
|
|
47
48
|
const installCmd = new commander_1.Command('install');
|
|
49
|
+
// List installed packages
|
|
50
|
+
installCmd
|
|
51
|
+
.command('list')
|
|
52
|
+
.description('List installed packages')
|
|
53
|
+
.action(() => {
|
|
54
|
+
if (!fs.existsSync(PACKAGES_DIR)) {
|
|
55
|
+
console.log('No packages installed');
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const packages = fs.readdirSync(PACKAGES_DIR);
|
|
59
|
+
if (packages.length === 0) {
|
|
60
|
+
console.log('No packages installed');
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
console.log('Installed Packages:');
|
|
64
|
+
console.log('='.repeat(60));
|
|
65
|
+
packages.forEach((pkg) => {
|
|
66
|
+
const manifestPath = path.join(PACKAGES_DIR, pkg, 'manifest.json');
|
|
67
|
+
if (fs.existsSync(manifestPath)) {
|
|
68
|
+
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
|
|
69
|
+
console.log(` ${manifest.name} v${manifest.version}`);
|
|
70
|
+
console.log(` Entry: ${manifest.entryPoint}`);
|
|
71
|
+
console.log(` Installed: ${manifest.installedAt}`);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
});
|
|
48
75
|
// Install OpenClaw package
|
|
49
76
|
installCmd
|
|
50
77
|
.command('package <url>')
|
|
@@ -52,6 +79,8 @@ function createInstallCommand(program) {
|
|
|
52
79
|
.option('--name <name>', 'Package name')
|
|
53
80
|
.option('--force', 'Force reinstall')
|
|
54
81
|
.action(async (url, options) => {
|
|
82
|
+
// Check auth
|
|
83
|
+
const creds = (0, auth_1.checkAuth)();
|
|
55
84
|
// Download package info
|
|
56
85
|
console.log('Fetching package info from:', url);
|
|
57
86
|
let packageInfo;
|
|
@@ -120,32 +149,6 @@ function createInstallCommand(program) {
|
|
|
120
149
|
console.error('Download failed:', err.message);
|
|
121
150
|
}
|
|
122
151
|
});
|
|
123
|
-
// List installed packages
|
|
124
|
-
installCmd
|
|
125
|
-
.command('list')
|
|
126
|
-
.description('List installed packages')
|
|
127
|
-
.action(() => {
|
|
128
|
-
if (!fs.existsSync(PACKAGES_DIR)) {
|
|
129
|
-
console.log('No packages installed');
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
const packages = fs.readdirSync(PACKAGES_DIR);
|
|
133
|
-
if (packages.length === 0) {
|
|
134
|
-
console.log('No packages installed');
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
console.log('Installed Packages:');
|
|
138
|
-
console.log('='.repeat(60));
|
|
139
|
-
packages.forEach((pkg) => {
|
|
140
|
-
const manifestPath = path.join(PACKAGES_DIR, pkg, 'manifest.json');
|
|
141
|
-
if (fs.existsSync(manifestPath)) {
|
|
142
|
-
const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
|
|
143
|
-
console.log(` ${manifest.name} v${manifest.version}`);
|
|
144
|
-
console.log(` Entry: ${manifest.entryPoint}`);
|
|
145
|
-
console.log(` Installed: ${manifest.installedAt}`);
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
152
|
program.addCommand(installCmd);
|
|
150
153
|
}
|
|
151
154
|
//# sourceMappingURL=install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/commands/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/commands/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QA+HrD"}
|
|
@@ -4,9 +4,14 @@ exports.createStrategyCommand = createStrategyCommand;
|
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const client_1 = require("../api/client");
|
|
6
6
|
const strategy_1 = require("../api/strategy");
|
|
7
|
-
const
|
|
7
|
+
const auth_1 = require("../utils/auth");
|
|
8
8
|
function createStrategyCommand(program) {
|
|
9
9
|
const strategyCmd = new commander_1.Command('strategy');
|
|
10
|
+
// Helper to get authenticated client
|
|
11
|
+
function getClient() {
|
|
12
|
+
const creds = (0, auth_1.checkAuth)();
|
|
13
|
+
return new client_1.ApiClient(creds.baseUrl, creds.apiKey);
|
|
14
|
+
}
|
|
10
15
|
// List strategies
|
|
11
16
|
strategyCmd
|
|
12
17
|
.command('list')
|
|
@@ -14,8 +19,7 @@ function createStrategyCommand(program) {
|
|
|
14
19
|
.option('--tier <tier>', 'Filter by tier')
|
|
15
20
|
.option('--limit <number>', 'Limit results', '10')
|
|
16
21
|
.action(async (options) => {
|
|
17
|
-
const
|
|
18
|
-
const client = new client_1.ApiClient(credentials.baseUrl, credentials.apiKey);
|
|
22
|
+
const client = getClient();
|
|
19
23
|
const strategyApi = new strategy_1.StrategyApi(client);
|
|
20
24
|
const response = await strategyApi.list({
|
|
21
25
|
tier: options.tier,
|
|
@@ -46,8 +50,7 @@ function createStrategyCommand(program) {
|
|
|
46
50
|
return { ...acc, [key]: val };
|
|
47
51
|
}, {})
|
|
48
52
|
.action(async (strategyId, options) => {
|
|
49
|
-
const
|
|
50
|
-
const client = new client_1.ApiClient(credentials.baseUrl, credentials.apiKey);
|
|
53
|
+
const client = getClient();
|
|
51
54
|
const strategyApi = new strategy_1.StrategyApi(client);
|
|
52
55
|
// Get strategy details first
|
|
53
56
|
const details = await strategyApi.get(strategyId);
|
|
@@ -77,8 +80,7 @@ function createStrategyCommand(program) {
|
|
|
77
80
|
.command('status <dispatchId>')
|
|
78
81
|
.description('Check strategy execution status')
|
|
79
82
|
.action(async (dispatchId) => {
|
|
80
|
-
const
|
|
81
|
-
const client = new client_1.ApiClient(credentials.baseUrl, credentials.apiKey);
|
|
83
|
+
const client = getClient();
|
|
82
84
|
const strategyApi = new strategy_1.StrategyApi(client);
|
|
83
85
|
const response = await strategyApi.getStatus(dispatchId);
|
|
84
86
|
if (response.success && response.data) {
|
|
@@ -99,8 +101,7 @@ function createStrategyCommand(program) {
|
|
|
99
101
|
.description('Show strategy execution history')
|
|
100
102
|
.option('--limit <number>', 'Limit results', '10')
|
|
101
103
|
.action(async (options) => {
|
|
102
|
-
const
|
|
103
|
-
const client = new client_1.ApiClient(credentials.baseUrl, credentials.apiKey);
|
|
104
|
+
const client = getClient();
|
|
104
105
|
const strategyApi = new strategy_1.StrategyApi(client);
|
|
105
106
|
const response = await strategyApi.getHistory({
|
|
106
107
|
limit: parseInt(options.limit),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../src/commands/strategy.ts"],"names":[],"mappings":";;AAKA,
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../src/commands/strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,SAAS,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAetE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkAuth = checkAuth;
|
|
4
|
+
const config_1 = require("../config");
|
|
5
|
+
/**
|
|
6
|
+
* Check authentication and return credentials
|
|
7
|
+
* Exits with helpful message if not authenticated
|
|
8
|
+
*/
|
|
9
|
+
function checkAuth() {
|
|
10
|
+
try {
|
|
11
|
+
return (0, config_1.loadCredentials)();
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
console.error('');
|
|
15
|
+
console.error('❌ Authentication required');
|
|
16
|
+
console.error('');
|
|
17
|
+
console.error(' Run the following command to authenticate:');
|
|
18
|
+
console.error(' 123456btc-cli auth login');
|
|
19
|
+
console.error('');
|
|
20
|
+
console.error(' Or set API_KEY environment variable:');
|
|
21
|
+
console.error(' export API_KEY=sk_live_your_key');
|
|
22
|
+
console.error('');
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":";;AAMA,8BAeC;AArBD,sCAA4C;AAE5C;;;GAGG;AACH,SAAgB,SAAS;IACvB,IAAI,CAAC;QACH,OAAO,IAAA,wBAAe,GAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
|