@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.14')
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;IAiB7C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBrC;;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;CA8BH;AAGD,eAAO,MAAM,WAAW,aAAoB,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
- const response = await this.httpClient.get('/v1/users/balance');
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 balance API');
22
+ throw errorHandler_1.ErrorHandler.createServerError('Invalid response from user API');
21
23
  }
22
- return response.data;
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 response = await this.httpClient.get('/v1/users/me');
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/me/transactions?${queryParams.toString()}`);
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
- return {
64
- transactions: data.transactions || [],
65
- total: data.total || 0,
66
- hasMore: data.hasMore || false
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":"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"}
1
+ {"version":3,"file":"userService.js","sourceRoot":"","sources":["../../src/services/userService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@172ai/containers-mcp-server",
3
- "version": "1.0.14",
3
+ "version": "1.0.15",
4
4
  "description": "MCP server for 172.ai container management platform - enables AI assistants to manage containers, builds, and files",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {