@172ai/containers-mcp-server 1.0.14 → 1.0.15
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/cli-tool.js
CHANGED
|
@@ -428,7 +428,7 @@ program
|
|
|
428
428
|
program
|
|
429
429
|
.name('containers-cli')
|
|
430
430
|
.description('172.ai Container Management CLI Tool')
|
|
431
|
-
.version('1.0.
|
|
431
|
+
.version('1.0.15')
|
|
432
432
|
.option('-c, --config <path>', 'Path to config file')
|
|
433
433
|
.option('-v, --verbose', 'Verbose output')
|
|
434
434
|
.hook('preAction', async (thisCommand, actionCommand) => {
|
|
@@ -9,6 +9,10 @@ export declare class UserService {
|
|
|
9
9
|
* Get current user's token balance
|
|
10
10
|
*/
|
|
11
11
|
getTokenBalance(): Promise<UserBalance>;
|
|
12
|
+
/**
|
|
13
|
+
* Get current user basic info (for getting user ID)
|
|
14
|
+
*/
|
|
15
|
+
private getCurrentUser;
|
|
12
16
|
/**
|
|
13
17
|
* Get user profile information
|
|
14
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userService.d.ts","sourceRoot":"","sources":["../../src/services/userService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI7C;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAgB;;IAMlC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"userService.d.ts","sourceRoot":"","sources":["../../src/services/userService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI7C;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAgB;;IAMlC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC;IAyB7C;;OAEG;YACW,cAAc;IAgB5B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrC;;OAEG;IACG,qBAAqB,CAAC,KAAK,GAAE,MAAW,EAAE,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC;QAC3E,YAAY,EAAE,KAAK,CAAC;YAClB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;YAC7B,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;QACH,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CA0CH;AAGD,eAAO,MAAM,WAAW,aAAoB,CAAC"}
|
|
@@ -15,11 +15,19 @@ class UserService {
|
|
|
15
15
|
*/
|
|
16
16
|
async getTokenBalance() {
|
|
17
17
|
try {
|
|
18
|
-
|
|
18
|
+
// First get user info to get user ID, then fetch their details
|
|
19
|
+
const userInfo = await this.getCurrentUser();
|
|
20
|
+
const response = await this.httpClient.get(`/v1/users/${userInfo.id}`);
|
|
19
21
|
if (!response.data) {
|
|
20
|
-
throw errorHandler_1.ErrorHandler.createServerError('Invalid response from
|
|
22
|
+
throw errorHandler_1.ErrorHandler.createServerError('Invalid response from user API');
|
|
21
23
|
}
|
|
22
|
-
|
|
24
|
+
// Extract balance from user data
|
|
25
|
+
const userData = response.data;
|
|
26
|
+
return {
|
|
27
|
+
userId: userData.id || userInfo.id,
|
|
28
|
+
tokenBalance: userData.tokenBalance || 0,
|
|
29
|
+
lastUpdated: userData.lastUpdated || new Date().toISOString()
|
|
30
|
+
};
|
|
23
31
|
}
|
|
24
32
|
catch (error) {
|
|
25
33
|
if (error instanceof errorHandler_1.ApiError && error.status === 404) {
|
|
@@ -28,12 +36,30 @@ class UserService {
|
|
|
28
36
|
throw errorHandler_1.ErrorHandler.processError(error, 'UserService.getTokenBalance');
|
|
29
37
|
}
|
|
30
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Get current user basic info (for getting user ID)
|
|
41
|
+
*/
|
|
42
|
+
async getCurrentUser() {
|
|
43
|
+
try {
|
|
44
|
+
const response = await this.httpClient.get('/v1/users/me/api-keys');
|
|
45
|
+
if (!response.data || !response.data.api_keys || !response.data.api_keys.length) {
|
|
46
|
+
throw errorHandler_1.ErrorHandler.createServerError('Unable to determine current user');
|
|
47
|
+
}
|
|
48
|
+
// Extract user ID from API key data
|
|
49
|
+
const apiKey = response.data.api_keys[0];
|
|
50
|
+
return { id: apiKey.created_by };
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
throw errorHandler_1.ErrorHandler.processError(error, 'UserService.getCurrentUser');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
31
56
|
/**
|
|
32
57
|
* Get user profile information
|
|
33
58
|
*/
|
|
34
59
|
async getUserProfile() {
|
|
35
60
|
try {
|
|
36
|
-
const
|
|
61
|
+
const userInfo = await this.getCurrentUser();
|
|
62
|
+
const response = await this.httpClient.get(`/v1/users/${userInfo.id}`);
|
|
37
63
|
if (!response.data) {
|
|
38
64
|
throw errorHandler_1.ErrorHandler.createServerError('Invalid response from user profile API');
|
|
39
65
|
}
|
|
@@ -55,16 +81,28 @@ class UserService {
|
|
|
55
81
|
limit: limit.toString(),
|
|
56
82
|
offset: offset.toString()
|
|
57
83
|
});
|
|
58
|
-
const response = await this.httpClient.get(`/v1/users/
|
|
84
|
+
const response = await this.httpClient.get(`/v1/users/self/transactions?${queryParams.toString()}`);
|
|
59
85
|
if (!response.data) {
|
|
60
86
|
throw errorHandler_1.ErrorHandler.createServerError('Invalid response from transaction history API');
|
|
61
87
|
}
|
|
62
88
|
const data = response.data;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
89
|
+
// Handle both array and object response formats
|
|
90
|
+
if (Array.isArray(data)) {
|
|
91
|
+
// API returns array directly
|
|
92
|
+
return {
|
|
93
|
+
transactions: data,
|
|
94
|
+
total: data.length,
|
|
95
|
+
hasMore: data.length >= limit
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// API returns object with transactions property
|
|
100
|
+
return {
|
|
101
|
+
transactions: data.transactions || [],
|
|
102
|
+
total: data.total || 0,
|
|
103
|
+
hasMore: data.hasMore || false
|
|
104
|
+
};
|
|
105
|
+
}
|
|
68
106
|
}
|
|
69
107
|
catch (error) {
|
|
70
108
|
if (error instanceof errorHandler_1.ApiError && error.status === 404) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userService.js","sourceRoot":"","sources":["../../src/services/userService.ts"],"names":[],"mappings":";;;AAEA,kCAAsC;AACtC,wDAA+D;AAE/D;;GAEG;AACH,MAAa,WAAW;IAGtB;QACE,IAAI,CAAC,UAAU,GAAG,kBAAW,CAAC,aAAa,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"userService.js","sourceRoot":"","sources":["../../src/services/userService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED