@172ai/containers-mcp-server 1.12.2 → 1.12.4

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 (75) hide show
  1. package/dist/auth.d.ts +1 -1
  2. package/dist/auth.d.ts.map +1 -1
  3. package/dist/auth.js +26 -33
  4. package/dist/auth.js.map +1 -1
  5. package/dist/cli-tool.js +67 -105
  6. package/dist/cli-tool.js.map +1 -1
  7. package/dist/cli.js +4 -37
  8. package/dist/cli.js.map +1 -1
  9. package/dist/config.d.ts +1 -1
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +5 -42
  12. package/dist/config.js.map +1 -1
  13. package/dist/scripts/test-mcp-tools.js +9 -12
  14. package/dist/scripts/test-mcp-tools.js.map +1 -1
  15. package/dist/server.d.ts +13 -0
  16. package/dist/server.d.ts.map +1 -1
  17. package/dist/server.js +727 -87
  18. package/dist/server.js.map +1 -1
  19. package/dist/services/buildService.d.ts +1 -1
  20. package/dist/services/buildService.d.ts.map +1 -1
  21. package/dist/services/buildService.js +37 -41
  22. package/dist/services/buildService.js.map +1 -1
  23. package/dist/services/capabilityService.d.ts +1 -1
  24. package/dist/services/capabilityService.d.ts.map +1 -1
  25. package/dist/services/capabilityService.js +32 -36
  26. package/dist/services/capabilityService.js.map +1 -1
  27. package/dist/services/containerService.d.ts +1 -1
  28. package/dist/services/containerService.d.ts.map +1 -1
  29. package/dist/services/containerService.js +47 -51
  30. package/dist/services/containerService.js.map +1 -1
  31. package/dist/services/executionService.d.ts +1 -1
  32. package/dist/services/executionService.d.ts.map +1 -1
  33. package/dist/services/executionService.js +48 -52
  34. package/dist/services/executionService.js.map +1 -1
  35. package/dist/services/exportService.d.ts +108 -0
  36. package/dist/services/exportService.d.ts.map +1 -0
  37. package/dist/services/exportService.js +659 -0
  38. package/dist/services/exportService.js.map +1 -0
  39. package/dist/services/fileService.d.ts +1 -1
  40. package/dist/services/fileService.d.ts.map +1 -1
  41. package/dist/services/fileService.js +73 -77
  42. package/dist/services/fileService.js.map +1 -1
  43. package/dist/services/importService.d.ts +90 -0
  44. package/dist/services/importService.d.ts.map +1 -0
  45. package/dist/services/importService.js +570 -0
  46. package/dist/services/importService.js.map +1 -0
  47. package/dist/services/streamingService.js +16 -23
  48. package/dist/services/streamingService.js.map +1 -1
  49. package/dist/services/userNotificationManager.d.ts +22 -4
  50. package/dist/services/userNotificationManager.d.ts.map +1 -1
  51. package/dist/services/userNotificationManager.js +59 -19
  52. package/dist/services/userNotificationManager.js.map +1 -1
  53. package/dist/services/userService.d.ts +1 -5
  54. package/dist/services/userService.d.ts.map +1 -1
  55. package/dist/services/userService.js +19 -43
  56. package/dist/services/userService.js.map +1 -1
  57. package/dist/setup.js +28 -67
  58. package/dist/setup.js.map +1 -1
  59. package/dist/types.d.ts +121 -0
  60. package/dist/types.d.ts.map +1 -1
  61. package/dist/types.js +1 -2
  62. package/dist/types.js.map +1 -1
  63. package/dist/utils/enhancedErrorHandler.d.ts +1 -1
  64. package/dist/utils/enhancedErrorHandler.d.ts.map +1 -1
  65. package/dist/utils/enhancedErrorHandler.js +47 -52
  66. package/dist/utils/enhancedErrorHandler.js.map +1 -1
  67. package/dist/utils/errorHandler.d.ts +1 -1
  68. package/dist/utils/errorHandler.d.ts.map +1 -1
  69. package/dist/utils/errorHandler.js +15 -20
  70. package/dist/utils/errorHandler.js.map +1 -1
  71. package/dist/utils/logBuffer.js +2 -6
  72. package/dist/utils/logBuffer.js.map +1 -1
  73. package/dist/utils/retryHandler.js +7 -13
  74. package/dist/utils/retryHandler.js.map +1 -1
  75. package/package.json +2 -1
package/dist/auth.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AxiosInstance } from 'axios';
2
- import { ApiKeyInfo } from './types';
2
+ import { ApiKeyInfo } from './types.js';
3
3
  /**
4
4
  * Authentication manager for the MCP server
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAqB,UAAU,EAAE,MAAM,SAAS,CAAC;AAIxD;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAO;;IAwC3B;;OAEG;YACW,aAAa;IAqC3B;;OAEG;YACW,aAAa;IA2B3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,aAAa,IAAI,aAAa;IAI9B;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAY5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IASzC;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBzD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3C;;OAEG;IACH,SAAS,IAAI,IAAI;IAKjB;;OAEG;IACH,aAAa,IAAI;QACf,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,oBAAoB,GAAG,MAAM,CAAC;QAClE,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,IAAI,CAAC;KAClB;CAiBF;AAGD,eAAO,MAAM,WAAW,aAAoB,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAqB,UAAU,EAAE,MAAM,YAAY,CAAC;AAI3D;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAO;;IAwC3B;;OAEG;YACW,aAAa;IAqC3B;;OAEG;YACW,aAAa;IA2B3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,aAAa,IAAI,aAAa;IAI9B;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAY5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IASzC;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAgBzD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3C;;OAEG;IACH,SAAS,IAAI,IAAI;IAKjB;;OAEG;IACH,aAAa,IAAI;QACf,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,oBAAoB,GAAG,MAAM,CAAC;QAClE,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,IAAI,CAAC;KAClB;CAiBF;AAGD,eAAO,MAAM,WAAW,aAAoB,CAAC"}
package/dist/auth.js CHANGED
@@ -1,20 +1,14 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.authManager = exports.AuthManager = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- const config_1 = require("./config");
9
- const errorHandler_1 = require("./utils/errorHandler");
1
+ import axios from 'axios';
2
+ import { config } from './config.js';
3
+ import { ErrorHandler, ApiError } from './utils/errorHandler.js';
10
4
  /**
11
5
  * Authentication manager for the MCP server
12
6
  */
13
- class AuthManager {
7
+ export class AuthManager {
14
8
  constructor() {
15
- this.httpClient = axios_1.default.create({
16
- baseURL: config_1.config.get('baseUrl'),
17
- timeout: config_1.config.getTimeoutConfig().request,
9
+ this.httpClient = axios.create({
10
+ baseURL: config.get('baseUrl'),
11
+ timeout: config.getTimeoutConfig().request,
18
12
  headers: {
19
13
  'Content-Type': 'application/json',
20
14
  'User-Agent': '@172ai/containers-mcp-server/1.0.0'
@@ -30,18 +24,18 @@ class AuthManager {
30
24
  }, (error) => Promise.reject(error));
31
25
  // Add response interceptor for error handling
32
26
  this.httpClient.interceptors.response.use((response) => response, (error) => {
33
- const processedError = errorHandler_1.ErrorHandler.processError(error, 'AuthManager');
34
- errorHandler_1.ErrorHandler.logError(processedError);
35
- return Promise.reject(new errorHandler_1.ApiError(processedError.message, processedError.status, processedError.code, processedError.details));
27
+ const processedError = ErrorHandler.processError(error, 'AuthManager');
28
+ ErrorHandler.logError(processedError);
29
+ return Promise.reject(new ApiError(processedError.message, processedError.status, processedError.code, processedError.details));
36
30
  });
37
31
  }
38
32
  /**
39
33
  * Get a valid authentication token
40
34
  */
41
35
  async getValidToken() {
42
- const authConfig = config_1.config.getAuthConfig();
36
+ const authConfig = config.getAuthConfig();
43
37
  // Debug logging for authentication
44
- if (config_1.config.isDevelopment()) {
38
+ if (config.isDevelopment()) {
45
39
  console.log('[AuthManager] Getting valid token...');
46
40
  console.log('[AuthManager] API key available:', !!authConfig.apiKey);
47
41
  console.log('[AuthManager] OAuth token available:', !!authConfig.oauthToken);
@@ -49,7 +43,7 @@ class AuthManager {
49
43
  }
50
44
  // Use API key if available (preferred method)
51
45
  if (authConfig.apiKey) {
52
- if (config_1.config.isDevelopment()) {
46
+ if (config.isDevelopment()) {
53
47
  console.log('[AuthManager] Using API key for authentication');
54
48
  }
55
49
  return authConfig.apiKey;
@@ -65,17 +59,17 @@ class AuthManager {
65
59
  return token;
66
60
  }
67
61
  catch (error) {
68
- throw errorHandler_1.ErrorHandler.createAuthError('Failed to obtain OAuth token', { error: error.message });
62
+ throw ErrorHandler.createAuthError('Failed to obtain OAuth token', { error: error.message });
69
63
  }
70
64
  }
71
- throw errorHandler_1.ErrorHandler.createAuthError('No valid authentication method configured');
65
+ throw ErrorHandler.createAuthError('No valid authentication method configured');
72
66
  }
73
67
  /**
74
68
  * Get OAuth token using client credentials flow
75
69
  */
76
70
  async getOAuthToken(clientId, clientSecret) {
77
71
  try {
78
- const response = await axios_1.default.post(`${config_1.config.get('baseUrl')}/oauth/token`, {
72
+ const response = await axios.post(`${config.get('baseUrl')}/oauth/token`, {
79
73
  grant_type: 'client_credentials',
80
74
  client_id: clientId,
81
75
  client_secret: clientSecret,
@@ -84,7 +78,7 @@ class AuthManager {
84
78
  headers: {
85
79
  'Content-Type': 'application/json'
86
80
  },
87
- timeout: config_1.config.getTimeoutConfig().request
81
+ timeout: config.getTimeoutConfig().request
88
82
  });
89
83
  const tokenData = response.data;
90
84
  this.currentToken = tokenData.access_token;
@@ -92,7 +86,7 @@ class AuthManager {
92
86
  return tokenData.access_token;
93
87
  }
94
88
  catch (error) {
95
- throw errorHandler_1.ErrorHandler.createAuthError('OAuth token request failed', {
89
+ throw ErrorHandler.createAuthError('OAuth token request failed', {
96
90
  clientId,
97
91
  error: error.response?.data || error.message
98
92
  });
@@ -124,7 +118,7 @@ class AuthManager {
124
118
  return response.status === 200;
125
119
  }
126
120
  catch (error) {
127
- if (error instanceof errorHandler_1.ApiError && (error.status === 401 || error.status === 403)) {
121
+ if (error instanceof ApiError && (error.status === 401 || error.status === 403)) {
128
122
  return false;
129
123
  }
130
124
  throw error;
@@ -139,7 +133,7 @@ class AuthManager {
139
133
  return response.data;
140
134
  }
141
135
  catch (error) {
142
- throw errorHandler_1.ErrorHandler.createAuthError('Failed to retrieve API keys', { error: error.message });
136
+ throw ErrorHandler.createAuthError('Failed to retrieve API keys', { error: error.message });
143
137
  }
144
138
  }
145
139
  /**
@@ -147,24 +141,24 @@ class AuthManager {
147
141
  */
148
142
  async validateApiKey(apiKey) {
149
143
  try {
150
- const response = await axios_1.default.get(`${config_1.config.get('baseUrl')}/v1/auth/validate`, {
144
+ const response = await axios.get(`${config.get('baseUrl')}/v1/auth/validate`, {
151
145
  headers: {
152
146
  'Authorization': `Bearer ${apiKey}`,
153
147
  'Content-Type': 'application/json'
154
148
  },
155
- timeout: config_1.config.getTimeoutConfig().request
149
+ timeout: config.getTimeoutConfig().request
156
150
  });
157
151
  return response.data;
158
152
  }
159
153
  catch (error) {
160
- throw errorHandler_1.ErrorHandler.createAuthError('API key validation failed', { error: error.message });
154
+ throw ErrorHandler.createAuthError('API key validation failed', { error: error.message });
161
155
  }
162
156
  }
163
157
  /**
164
158
  * Refresh OAuth token if needed
165
159
  */
166
160
  async refreshTokenIfNeeded() {
167
- const authConfig = config_1.config.getAuthConfig();
161
+ const authConfig = config.getAuthConfig();
168
162
  if (!authConfig.clientId || !authConfig.clientSecret) {
169
163
  return; // Cannot refresh without client credentials
170
164
  }
@@ -183,7 +177,7 @@ class AuthManager {
183
177
  * Get authentication status
184
178
  */
185
179
  getAuthStatus() {
186
- const authConfig = config_1.config.getAuthConfig();
180
+ const authConfig = config.getAuthConfig();
187
181
  if (authConfig.apiKey) {
188
182
  return { method: 'api_key', isValid: true };
189
183
  }
@@ -196,7 +190,6 @@ class AuthManager {
196
190
  return { method: 'none', isValid: false };
197
191
  }
198
192
  }
199
- exports.AuthManager = AuthManager;
200
193
  // Export singleton instance
201
- exports.authManager = new AuthManager();
194
+ export const authManager = new AuthManager();
202
195
  //# sourceMappingURL=auth.js.map
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/cli-tool.js CHANGED
@@ -1,46 +1,8 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
2
  /**
4
3
  * 172.ai Container CLI Tool
5
4
  * Command line interface that reuses MCP service code for container operations
6
5
  */
7
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
- if (k2 === undefined) k2 = k;
9
- var desc = Object.getOwnPropertyDescriptor(m, k);
10
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
- desc = { enumerable: true, get: function() { return m[k]; } };
12
- }
13
- Object.defineProperty(o, k2, desc);
14
- }) : (function(o, m, k, k2) {
15
- if (k2 === undefined) k2 = k;
16
- o[k2] = m[k];
17
- }));
18
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
- Object.defineProperty(o, "default", { enumerable: true, value: v });
20
- }) : function(o, v) {
21
- o["default"] = v;
22
- });
23
- var __importStar = (this && this.__importStar) || (function () {
24
- var ownKeys = function(o) {
25
- ownKeys = Object.getOwnPropertyNames || function (o) {
26
- var ar = [];
27
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
- return ar;
29
- };
30
- return ownKeys(o);
31
- };
32
- return function (mod) {
33
- if (mod && mod.__esModule) return mod;
34
- var result = {};
35
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
- __setModuleDefault(result, mod);
37
- return result;
38
- };
39
- })();
40
- var __importDefault = (this && this.__importDefault) || function (mod) {
41
- return (mod && mod.__esModule) ? mod : { "default": mod };
42
- };
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
6
  // Check for commands that don't require config before importing anything
45
7
  const requiresSetup = !process.argv.includes('--help') &&
46
8
  !process.argv.includes('-h') &&
@@ -48,11 +10,11 @@ const requiresSetup = !process.argv.includes('--help') &&
48
10
  !process.argv.includes('setup') &&
49
11
  !process.argv.includes('--version') &&
50
12
  process.argv.length > 2;
51
- const commander_1 = require("commander");
52
- const chalk_1 = __importDefault(require("chalk"));
53
- const ora_1 = __importDefault(require("ora"));
54
- const program = new commander_1.Command();
55
- const spinner = (0, ora_1.default)();
13
+ import { Command } from 'commander';
14
+ import chalk from 'chalk';
15
+ import ora from 'ora';
16
+ const program = new Command();
17
+ const spinner = ora();
56
18
  // Lazy load services only when needed
57
19
  let containerService;
58
20
  let buildService;
@@ -67,14 +29,14 @@ const loadServices = async () => {
67
29
  return; // Already loaded
68
30
  try {
69
31
  const services = await Promise.all([
70
- Promise.resolve().then(() => __importStar(require('./services/containerService'))),
71
- Promise.resolve().then(() => __importStar(require('./services/buildService'))),
72
- Promise.resolve().then(() => __importStar(require('./services/fileService'))),
73
- Promise.resolve().then(() => __importStar(require('./services/capabilityService'))),
74
- Promise.resolve().then(() => __importStar(require('./services/userService'))),
75
- Promise.resolve().then(() => __importStar(require('./auth'))),
76
- Promise.resolve().then(() => __importStar(require('./config'))),
77
- Promise.resolve().then(() => __importStar(require('./utils/errorHandler')))
32
+ import('./services/containerService'),
33
+ import('./services/buildService'),
34
+ import('./services/fileService'),
35
+ import('./services/capabilityService'),
36
+ import('./services/userService'),
37
+ import('./auth'),
38
+ import('./config'),
39
+ import('./utils/errorHandler')
78
40
  ]);
79
41
  containerService = services[0].containerService;
80
42
  buildService = services[1].buildService;
@@ -87,8 +49,8 @@ const loadServices = async () => {
87
49
  }
88
50
  catch (error) {
89
51
  if (error.message.includes('Authentication configuration required')) {
90
- console.error(chalk_1.default.red('Configuration required. Please run:'));
91
- console.error(chalk_1.default.yellow('containers-cli setup'));
52
+ console.error(chalk.red('Configuration required. Please run:'));
53
+ console.error(chalk.yellow('containers-cli setup'));
92
54
  process.exit(1);
93
55
  }
94
56
  throw error;
@@ -125,12 +87,12 @@ const formatTimestamp = (timestamp) => {
125
87
  };
126
88
  const formatContainer = (container) => {
127
89
  return `
128
- ${chalk_1.default.bold.blue(container.name)} (${container.id})
129
- ${chalk_1.default.gray('Description:')} ${container.description}
130
- ${chalk_1.default.gray('Private:')} ${container.isPrivate ? chalk_1.default.red('Yes') : chalk_1.default.green('No')}
131
- ${chalk_1.default.gray('Tags:')} ${container.tags?.join(', ') || 'None'}
132
- ${chalk_1.default.gray('Created:')} ${formatTimestamp(container.createdAt)}
133
- ${chalk_1.default.gray('URL:')} ${container.url || 'N/A'}`;
90
+ ${chalk.bold.blue(container.name)} (${container.id})
91
+ ${chalk.gray('Description:')} ${container.description}
92
+ ${chalk.gray('Private:')} ${container.isPrivate ? chalk.red('Yes') : chalk.green('No')}
93
+ ${chalk.gray('Tags:')} ${container.tags?.join(', ') || 'None'}
94
+ ${chalk.gray('Created:')} ${formatTimestamp(container.createdAt)}
95
+ ${chalk.gray('URL:')} ${container.url || 'N/A'}`;
134
96
  };
135
97
  const formatFileSize = (bytes) => {
136
98
  if (bytes === 0)
@@ -144,9 +106,9 @@ const formatFileSize = (bytes) => {
144
106
  const handleError = (error) => {
145
107
  spinner.stop();
146
108
  const processedError = ErrorHandler.processError(error, 'CLI');
147
- console.error(chalk_1.default.red('Error:'), processedError.message);
109
+ console.error(chalk.red('Error:'), processedError.message);
148
110
  if (config.isDevelopment()) {
149
- console.error(chalk_1.default.gray('Details:'), processedError.details);
111
+ console.error(chalk.gray('Details:'), processedError.details);
150
112
  }
151
113
  process.exit(1);
152
114
  };
@@ -157,8 +119,8 @@ const withAuth = (fn) => {
157
119
  await loadServices();
158
120
  const isAuthenticated = await authManager.testAuthentication();
159
121
  if (!isAuthenticated) {
160
- console.error(chalk_1.default.red('Authentication failed. Please check your credentials.'));
161
- console.error(chalk_1.default.yellow('Run with --setup to configure authentication.'));
122
+ console.error(chalk.red('Authentication failed. Please check your credentials.'));
123
+ console.error(chalk.yellow('Run with --setup to configure authentication.'));
162
124
  process.exit(1);
163
125
  }
164
126
  return await fn(...args);
@@ -185,11 +147,11 @@ program
185
147
  });
186
148
  spinner.stop();
187
149
  if (response.containers.length === 0) {
188
- console.log(chalk_1.default.yellow('No containers found.'));
150
+ console.log(chalk.yellow('No containers found.'));
189
151
  return;
190
152
  }
191
153
  const limitedContainers = response.containers.slice(0, parseInt(options.limit));
192
- console.log(chalk_1.default.bold(`Found ${response.total} container(s), showing ${limitedContainers.length}:\n`));
154
+ console.log(chalk.bold(`Found ${response.total} container(s), showing ${limitedContainers.length}:\n`));
193
155
  limitedContainers.forEach((container, index) => {
194
156
  console.log(`${index + 1}.${formatContainer(container)}\n`);
195
157
  });
@@ -213,17 +175,17 @@ program
213
175
  .option('-p, --private', 'Make container private', false)
214
176
  .action(withAuth(async (options) => {
215
177
  if (!options.name || !options.description || !options.dockerfile) {
216
- console.error(chalk_1.default.red('Name, description, and dockerfile are required.'));
178
+ console.error(chalk.red('Name, description, and dockerfile are required.'));
217
179
  console.error('Usage: create -n "My Container" -d "Description" -f ./Dockerfile');
218
180
  process.exit(1);
219
181
  }
220
182
  let dockerfileContent;
221
183
  try {
222
- const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
184
+ const fs = await import('fs/promises');
223
185
  dockerfileContent = await fs.readFile(options.dockerfile, 'utf8');
224
186
  }
225
187
  catch (error) {
226
- console.error(chalk_1.default.red(`Failed to read Dockerfile: ${options.dockerfile}`));
188
+ console.error(chalk.red(`Failed to read Dockerfile: ${options.dockerfile}`));
227
189
  process.exit(1);
228
190
  }
229
191
  spinner.start('Creating container...');
@@ -235,7 +197,7 @@ program
235
197
  isPrivate: options.private
236
198
  });
237
199
  spinner.stop();
238
- console.log(chalk_1.default.green('Container created successfully!'));
200
+ console.log(chalk.green('Container created successfully!'));
239
201
  console.log(formatContainer(container));
240
202
  }));
241
203
  program
@@ -244,7 +206,7 @@ program
244
206
  .option('-y, --yes', 'Skip confirmation prompt')
245
207
  .action(withAuth(async (containerId, options) => {
246
208
  if (!options.yes) {
247
- const { default: inquirer } = await Promise.resolve().then(() => __importStar(require('inquirer')));
209
+ const { default: inquirer } = await import('inquirer');
248
210
  const { confirm } = await inquirer.prompt([{
249
211
  type: 'confirm',
250
212
  name: 'confirm',
@@ -259,7 +221,7 @@ program
259
221
  spinner.start('Deleting container...');
260
222
  const result = await containerService.deleteContainer({ containerId });
261
223
  spinner.stop();
262
- console.log(chalk_1.default.green(result.message));
224
+ console.log(chalk.green(result.message));
263
225
  }));
264
226
  // Build Commands
265
227
  program
@@ -270,44 +232,44 @@ program
270
232
  spinner.start('Starting build...');
271
233
  const buildResult = await buildService.buildContainer({ containerId });
272
234
  spinner.stop();
273
- console.log(chalk_1.default.green('Build started successfully!'));
235
+ console.log(chalk.green('Build started successfully!'));
274
236
  console.log(`Build ID: ${buildResult.id}`);
275
237
  console.log(`Status: ${buildResult.status}`);
276
238
  if (options.watch) {
277
- console.log(chalk_1.default.blue('\n🔍 Watching build progress...'));
239
+ console.log(chalk.blue('\n🔍 Watching build progress...'));
278
240
  let lastStatus = buildResult.status;
279
241
  const pollInterval = 3000; // 3 seconds
280
242
  const watchBuild = async () => {
281
243
  try {
282
244
  const status = await buildService.getBuildStatus({ containerId, buildId: buildResult.id });
283
245
  if (status.status !== lastStatus) {
284
- console.log(`Status changed: ${chalk_1.default.yellow(lastStatus)} → ${status.status === 'completed' ? chalk_1.default.green(status.status) : status.status === 'failed' ? chalk_1.default.red(status.status) : chalk_1.default.yellow(status.status)}`);
246
+ console.log(`Status changed: ${chalk.yellow(lastStatus)} → ${status.status === 'completed' ? chalk.green(status.status) : status.status === 'failed' ? chalk.red(status.status) : chalk.yellow(status.status)}`);
285
247
  lastStatus = status.status;
286
248
  }
287
249
  if (status.status === 'completed') {
288
- console.log(chalk_1.default.green('\n✅ Build completed successfully!'));
250
+ console.log(chalk.green('\n✅ Build completed successfully!'));
289
251
  if (status.endTime) {
290
252
  console.log(`Duration: ${formatTimestamp(status.startTime)} → ${formatTimestamp(status.endTime)}`);
291
253
  }
292
254
  return;
293
255
  }
294
256
  else if (status.status === 'failed') {
295
- console.log(chalk_1.default.red('\n❌ Build failed!'));
257
+ console.log(chalk.red('\n❌ Build failed!'));
296
258
  if (status.endTime) {
297
259
  console.log(`Duration: ${formatTimestamp(status.startTime)} → ${formatTimestamp(status.endTime)}`);
298
260
  }
299
- console.log(chalk_1.default.yellow('Use "containers-cli builds <containerId>" to see build details'));
261
+ console.log(chalk.yellow('Use "containers-cli builds <containerId>" to see build details'));
300
262
  return;
301
263
  }
302
264
  else if (status.status === 'cancelled') {
303
- console.log(chalk_1.default.yellow('\n⚠️ Build was cancelled'));
265
+ console.log(chalk.yellow('\n⚠️ Build was cancelled'));
304
266
  return;
305
267
  }
306
268
  // Continue watching
307
269
  setTimeout(watchBuild, pollInterval);
308
270
  }
309
271
  catch (error) {
310
- console.error(chalk_1.default.red('Error watching build:'), error.message);
272
+ console.error(chalk.red('Error watching build:'), error.message);
311
273
  }
312
274
  };
313
275
  // Start watching
@@ -326,14 +288,14 @@ program
326
288
  });
327
289
  spinner.stop();
328
290
  if (response.builds.length === 0) {
329
- console.log(chalk_1.default.yellow('No builds found.'));
291
+ console.log(chalk.yellow('No builds found.'));
330
292
  return;
331
293
  }
332
- console.log(chalk_1.default.bold(`Found ${response.total} build(s):\n`));
294
+ console.log(chalk.bold(`Found ${response.total} build(s):\n`));
333
295
  response.builds.forEach((build, index) => {
334
- const statusColor = build.status === 'completed' ? chalk_1.default.green :
335
- build.status === 'failed' ? chalk_1.default.red : chalk_1.default.yellow;
336
- console.log(`${index + 1}. ${chalk_1.default.bold(build.id)}`);
296
+ const statusColor = build.status === 'completed' ? chalk.green :
297
+ build.status === 'failed' ? chalk.red : chalk.yellow;
298
+ console.log(`${index + 1}. ${chalk.bold(build.id)}`);
337
299
  console.log(` Status: ${statusColor(build.status)}`);
338
300
  console.log(` Started: ${formatTimestamp(build.startTime)}`);
339
301
  if (build.endTime) {
@@ -355,14 +317,14 @@ program
355
317
  });
356
318
  spinner.stop();
357
319
  if (response.files.length === 0) {
358
- console.log(chalk_1.default.yellow('No files found.'));
320
+ console.log(chalk.yellow('No files found.'));
359
321
  return;
360
322
  }
361
- console.log(chalk_1.default.bold(`Files in ${response.path}:\n`));
323
+ console.log(chalk.bold(`Files in ${response.path}:\n`));
362
324
  response.files.forEach((file, index) => {
363
325
  const typeIcon = file.type === 'directory' ? '📁' : '📄';
364
326
  const sizeStr = file.size ? formatFileSize(file.size) : 'N/A';
365
- console.log(`${index + 1}. ${typeIcon} ${chalk_1.default.bold(file.name)}`);
327
+ console.log(`${index + 1}. ${typeIcon} ${chalk.bold(file.name)}`);
366
328
  console.log(` Path: ${file.path}`);
367
329
  console.log(` Size: ${sizeStr}`);
368
330
  if (file.lastModified) {
@@ -379,11 +341,11 @@ program
379
341
  const targetPath = remotePath || `/${localFilePath.split('/').pop()}`;
380
342
  let content;
381
343
  try {
382
- const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
344
+ const fs = await import('fs/promises');
383
345
  content = await fs.readFile(localFilePath, 'utf8');
384
346
  }
385
347
  catch (error) {
386
- console.error(chalk_1.default.red(`Failed to read file: ${localFilePath}`));
348
+ console.error(chalk.red(`Failed to read file: ${localFilePath}`));
387
349
  process.exit(1);
388
350
  }
389
351
  spinner.start('Uploading file...');
@@ -393,7 +355,7 @@ program
393
355
  content
394
356
  });
395
357
  spinner.stop();
396
- console.log(chalk_1.default.green('File uploaded successfully!'));
358
+ console.log(chalk.green('File uploaded successfully!'));
397
359
  console.log(`Local: ${localFilePath}`);
398
360
  console.log(`Remote: ${result.path}`);
399
361
  console.log(`Size: ${formatFileSize(result.size)}`);
@@ -406,8 +368,8 @@ program
406
368
  spinner.start('Fetching token balance...');
407
369
  const balance = await userService.getTokenBalance();
408
370
  spinner.stop();
409
- console.log(chalk_1.default.bold('Token Balance:'));
410
- console.log(`Tokens: ${chalk_1.default.green(balance.tokenBalance.toLocaleString())}`);
371
+ console.log(chalk.bold('Token Balance:'));
372
+ console.log(`Tokens: ${chalk.green(balance.tokenBalance.toLocaleString())}`);
411
373
  console.log(`Last Updated: ${formatTimestamp(balance.lastUpdated)}`);
412
374
  }));
413
375
  program
@@ -417,7 +379,7 @@ program
417
379
  spinner.start('Fetching profile...');
418
380
  const profile = await userService.getUserProfile();
419
381
  spinner.stop();
420
- console.log(chalk_1.default.bold('User Profile:'));
382
+ console.log(chalk.bold('User Profile:'));
421
383
  console.log(`Email: ${profile.email}`);
422
384
  console.log(`ID: ${profile.id}`);
423
385
  if (profile.displayName) {
@@ -435,12 +397,12 @@ program
435
397
  const response = await userService.getTransactionHistory(parseInt(options.limit));
436
398
  spinner.stop();
437
399
  if (response.transactions.length === 0) {
438
- console.log(chalk_1.default.yellow('No transactions found.'));
400
+ console.log(chalk.yellow('No transactions found.'));
439
401
  return;
440
402
  }
441
- console.log(chalk_1.default.bold(`Transaction History (${response.transactions.length} of ${response.total}):\n`));
403
+ console.log(chalk.bold(`Transaction History (${response.transactions.length} of ${response.total}):\n`));
442
404
  response.transactions.forEach((transaction, index) => {
443
- const typeColor = transaction.type === 'purchase' ? chalk_1.default.green : chalk_1.default.red;
405
+ const typeColor = transaction.type === 'purchase' ? chalk.green : chalk.red;
444
406
  const typeSymbol = transaction.type === 'purchase' ? '+' : '-';
445
407
  console.log(`${index + 1}. ${typeColor(typeSymbol + transaction.tokens)} tokens`);
446
408
  console.log(` Type: ${transaction.type}`);
@@ -456,7 +418,7 @@ program
456
418
  .command('setup')
457
419
  .description('Configure authentication and settings')
458
420
  .action(async () => {
459
- const { MCPServerSetup } = await Promise.resolve().then(() => __importStar(require('./setup.js')));
421
+ const { MCPServerSetup } = await import('./setup.js');
460
422
  const setup = new MCPServerSetup();
461
423
  await setup.run();
462
424
  });
@@ -465,23 +427,23 @@ program
465
427
  .command('test')
466
428
  .description('Test authentication and connection')
467
429
  .action(async () => {
468
- console.log(chalk_1.default.blue('🔍 Testing authentication and connection...\n'));
430
+ console.log(chalk.blue('🔍 Testing authentication and connection...\n'));
469
431
  try {
470
432
  await loadServices();
471
433
  const isAuthenticated = await authManager.testAuthentication();
472
434
  if (isAuthenticated) {
473
- console.log(chalk_1.default.green('✅ Authentication successful!'));
474
- console.log(chalk_1.default.green('✅ Connection to API is working'));
435
+ console.log(chalk.green('✅ Authentication successful!'));
436
+ console.log(chalk.green('✅ Connection to API is working'));
475
437
  // Test a simple API call
476
438
  spinner.start('Testing API endpoints...');
477
439
  const response = await containerService.listContainers({ limit: 1 });
478
440
  spinner.stop();
479
- console.log(chalk_1.default.green('✅ API endpoints are accessible'));
480
- console.log(chalk_1.default.blue(`Found ${response.total} containers in your account`));
441
+ console.log(chalk.green('✅ API endpoints are accessible'));
442
+ console.log(chalk.blue(`Found ${response.total} containers in your account`));
481
443
  }
482
444
  else {
483
- console.log(chalk_1.default.red('❌ Authentication failed'));
484
- console.log(chalk_1.default.yellow('Run "setup" command to configure authentication'));
445
+ console.log(chalk.red('❌ Authentication failed'));
446
+ console.log(chalk.yellow('Run "setup" command to configure authentication'));
485
447
  process.exit(1);
486
448
  }
487
449
  }
@@ -506,7 +468,7 @@ program
506
468
  });
507
469
  // Handle unknown commands
508
470
  program.on('command:*', () => {
509
- console.error(chalk_1.default.red('Invalid command: %s'), program.args.join(' '));
471
+ console.error(chalk.red('Invalid command: %s'), program.args.join(' '));
510
472
  console.log('See --help for a list of available commands.');
511
473
  process.exit(1);
512
474
  });