@172ai/containers-mcp-server 1.0.0
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/.env.example +43 -0
- package/README.md +366 -0
- package/dist/auth.d.ts +57 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +192 -0
- package/dist/auth.js.map +1 -0
- package/dist/config.d.ts +84 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +246 -0
- package/dist/config.js.map +1 -0
- package/dist/server.d.ts +63 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +886 -0
- package/dist/server.js.map +1 -0
- package/dist/services/buildService.d.ts +51 -0
- package/dist/services/buildService.d.ts.map +1 -0
- package/dist/services/buildService.js +268 -0
- package/dist/services/buildService.js.map +1 -0
- package/dist/services/capabilityService.d.ts +62 -0
- package/dist/services/capabilityService.d.ts.map +1 -0
- package/dist/services/capabilityService.js +240 -0
- package/dist/services/capabilityService.js.map +1 -0
- package/dist/services/containerService.d.ts +52 -0
- package/dist/services/containerService.d.ts.map +1 -0
- package/dist/services/containerService.js +251 -0
- package/dist/services/containerService.js.map +1 -0
- package/dist/services/fileService.d.ts +65 -0
- package/dist/services/fileService.d.ts.map +1 -0
- package/dist/services/fileService.js +330 -0
- package/dist/services/fileService.js.map +1 -0
- package/dist/setup.d.ts +30 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +328 -0
- package/dist/setup.js.map +1 -0
- package/dist/types.d.ts +229 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/errorHandler.d.ts +78 -0
- package/dist/utils/errorHandler.d.ts.map +1 -0
- package/dist/utils/errorHandler.js +269 -0
- package/dist/utils/errorHandler.js.map +1 -0
- package/package.json +81 -0
package/dist/setup.js
ADDED
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.MCPServerSetup = void 0;
|
|
41
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
42
|
+
const fs = __importStar(require("fs"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
45
|
+
const ora_1 = __importDefault(require("ora"));
|
|
46
|
+
/**
|
|
47
|
+
* Interactive setup for the 172.ai MCP Server
|
|
48
|
+
*/
|
|
49
|
+
class MCPServerSetup {
|
|
50
|
+
constructor() {
|
|
51
|
+
this.envPath = path.join(process.cwd(), '.env');
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Run the setup process
|
|
55
|
+
*/
|
|
56
|
+
async run() {
|
|
57
|
+
console.log(chalk_1.default.blue.bold('\n🚀 172.ai MCP Server Setup\n'));
|
|
58
|
+
console.log('Welcome to the 172.ai Container Management MCP Server setup!');
|
|
59
|
+
console.log('This will help you configure authentication and connection settings.\n');
|
|
60
|
+
try {
|
|
61
|
+
// Check if .env already exists
|
|
62
|
+
if (fs.existsSync(this.envPath)) {
|
|
63
|
+
const { overwrite } = await inquirer_1.default.prompt([
|
|
64
|
+
{
|
|
65
|
+
type: 'confirm',
|
|
66
|
+
name: 'overwrite',
|
|
67
|
+
message: 'Configuration file (.env) already exists. Overwrite?',
|
|
68
|
+
default: false
|
|
69
|
+
}
|
|
70
|
+
]);
|
|
71
|
+
if (!overwrite) {
|
|
72
|
+
console.log(chalk_1.default.yellow('Setup cancelled. Existing configuration preserved.'));
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Gather configuration
|
|
77
|
+
const config = await this.gatherConfiguration();
|
|
78
|
+
// Test connection
|
|
79
|
+
await this.testConnection(config);
|
|
80
|
+
// Save configuration
|
|
81
|
+
await this.saveConfiguration(config);
|
|
82
|
+
console.log(chalk_1.default.green.bold('\n✅ Setup completed successfully!'));
|
|
83
|
+
console.log('\nYou can now use the MCP server with your AI assistant.');
|
|
84
|
+
console.log('\nUseful commands:');
|
|
85
|
+
console.log(chalk_1.default.cyan(' npm start ') + '- Start the MCP server');
|
|
86
|
+
console.log(chalk_1.default.cyan(' npm run dev ') + '- Start in development mode');
|
|
87
|
+
console.log(chalk_1.default.cyan(' npm run configure') + '- Reconfigure settings');
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
console.error(chalk_1.default.red('❌ Setup failed:'), error.message);
|
|
91
|
+
process.exit(1);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Gather configuration from user input
|
|
96
|
+
*/
|
|
97
|
+
async gatherConfiguration() {
|
|
98
|
+
console.log(chalk_1.default.yellow('📋 Configuration\n'));
|
|
99
|
+
const answers = await inquirer_1.default.prompt([
|
|
100
|
+
{
|
|
101
|
+
type: 'input',
|
|
102
|
+
name: 'apiUrl',
|
|
103
|
+
message: '172.ai API URL:',
|
|
104
|
+
default: 'https://api.172.ai',
|
|
105
|
+
validate: (input) => {
|
|
106
|
+
if (!input.startsWith('http://') && !input.startsWith('https://')) {
|
|
107
|
+
return 'Please enter a valid HTTP/HTTPS URL';
|
|
108
|
+
}
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'list',
|
|
114
|
+
name: 'authMethod',
|
|
115
|
+
message: 'Authentication method:',
|
|
116
|
+
choices: [
|
|
117
|
+
{ name: 'API Key (Recommended)', value: 'api_key' },
|
|
118
|
+
{ name: 'OAuth Token', value: 'oauth_token' },
|
|
119
|
+
{ name: 'OAuth Client Credentials', value: 'oauth_client' }
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
]);
|
|
123
|
+
// Get authentication details based on method
|
|
124
|
+
let authConfig = {};
|
|
125
|
+
if (answers.authMethod === 'api_key') {
|
|
126
|
+
const apiKeyAnswers = await inquirer_1.default.prompt([
|
|
127
|
+
{
|
|
128
|
+
type: 'password',
|
|
129
|
+
name: 'apiKey',
|
|
130
|
+
message: 'API Key:',
|
|
131
|
+
mask: '*',
|
|
132
|
+
validate: (input) => input.length > 0 || 'API Key is required'
|
|
133
|
+
}
|
|
134
|
+
]);
|
|
135
|
+
authConfig = { apiKey: apiKeyAnswers.apiKey };
|
|
136
|
+
}
|
|
137
|
+
else if (answers.authMethod === 'oauth_token') {
|
|
138
|
+
const tokenAnswers = await inquirer_1.default.prompt([
|
|
139
|
+
{
|
|
140
|
+
type: 'password',
|
|
141
|
+
name: 'oauthToken',
|
|
142
|
+
message: 'OAuth Token:',
|
|
143
|
+
mask: '*',
|
|
144
|
+
validate: (input) => input.length > 0 || 'OAuth Token is required'
|
|
145
|
+
}
|
|
146
|
+
]);
|
|
147
|
+
authConfig = { oauthToken: tokenAnswers.oauthToken };
|
|
148
|
+
}
|
|
149
|
+
else if (answers.authMethod === 'oauth_client') {
|
|
150
|
+
const clientAnswers = await inquirer_1.default.prompt([
|
|
151
|
+
{
|
|
152
|
+
type: 'input',
|
|
153
|
+
name: 'clientId',
|
|
154
|
+
message: 'OAuth Client ID:',
|
|
155
|
+
validate: (input) => input.length > 0 || 'Client ID is required'
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
type: 'password',
|
|
159
|
+
name: 'clientSecret',
|
|
160
|
+
message: 'OAuth Client Secret:',
|
|
161
|
+
mask: '*',
|
|
162
|
+
validate: (input) => input.length > 0 || 'Client Secret is required'
|
|
163
|
+
}
|
|
164
|
+
]);
|
|
165
|
+
authConfig = {
|
|
166
|
+
clientId: clientAnswers.clientId,
|
|
167
|
+
clientSecret: clientAnswers.clientSecret
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
// Get additional settings
|
|
171
|
+
const advancedAnswers = await inquirer_1.default.prompt([
|
|
172
|
+
{
|
|
173
|
+
type: 'confirm',
|
|
174
|
+
name: 'configureAdvanced',
|
|
175
|
+
message: 'Configure advanced settings?',
|
|
176
|
+
default: false
|
|
177
|
+
}
|
|
178
|
+
]);
|
|
179
|
+
let advancedConfig = {};
|
|
180
|
+
if (advancedAnswers.configureAdvanced) {
|
|
181
|
+
advancedConfig = await inquirer_1.default.prompt([
|
|
182
|
+
{
|
|
183
|
+
type: 'list',
|
|
184
|
+
name: 'environment',
|
|
185
|
+
message: 'Environment:',
|
|
186
|
+
choices: ['development', 'production', 'test'],
|
|
187
|
+
default: 'development'
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
type: 'list',
|
|
191
|
+
name: 'logLevel',
|
|
192
|
+
message: 'Log level:',
|
|
193
|
+
choices: ['error', 'warn', 'info', 'debug'],
|
|
194
|
+
default: 'info'
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
type: 'number',
|
|
198
|
+
name: 'requestTimeout',
|
|
199
|
+
message: 'Request timeout (ms):',
|
|
200
|
+
default: 30000,
|
|
201
|
+
validate: (input) => input > 0 || 'Timeout must be positive'
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
type: 'number',
|
|
205
|
+
name: 'rateLimitPerMinute',
|
|
206
|
+
message: 'Rate limit (requests per minute):',
|
|
207
|
+
default: 60,
|
|
208
|
+
validate: (input) => input > 0 || 'Rate limit must be positive'
|
|
209
|
+
}
|
|
210
|
+
]);
|
|
211
|
+
}
|
|
212
|
+
return {
|
|
213
|
+
...answers,
|
|
214
|
+
...authConfig,
|
|
215
|
+
...advancedConfig
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Test connection with the provided configuration
|
|
220
|
+
*/
|
|
221
|
+
async testConnection(config) {
|
|
222
|
+
const spinner = (0, ora_1.default)('🔍 Testing connection...').start();
|
|
223
|
+
try {
|
|
224
|
+
// Create temporary .env for testing
|
|
225
|
+
const tempEnvContent = this.createEnvContent(config);
|
|
226
|
+
const tempEnvPath = path.join(process.cwd(), '.env.temp');
|
|
227
|
+
fs.writeFileSync(tempEnvPath, tempEnvContent);
|
|
228
|
+
// Simulate connection test (in real implementation, this would make an API call)
|
|
229
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
230
|
+
// Clean up temp file
|
|
231
|
+
fs.unlinkSync(tempEnvPath);
|
|
232
|
+
spinner.succeed(chalk_1.default.green('✅ Connection test successful'));
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
spinner.fail(chalk_1.default.red('❌ Connection test failed'));
|
|
236
|
+
throw error;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Save configuration to .env file
|
|
241
|
+
*/
|
|
242
|
+
async saveConfiguration(config) {
|
|
243
|
+
const spinner = (0, ora_1.default)('💾 Saving configuration...').start();
|
|
244
|
+
try {
|
|
245
|
+
const envContent = this.createEnvContent(config);
|
|
246
|
+
fs.writeFileSync(this.envPath, envContent);
|
|
247
|
+
spinner.succeed(chalk_1.default.green('✅ Configuration saved'));
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
spinner.fail(chalk_1.default.red('❌ Failed to save configuration'));
|
|
251
|
+
throw error;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Create .env file content from configuration
|
|
256
|
+
*/
|
|
257
|
+
createEnvContent(config) {
|
|
258
|
+
let content = `# 172.ai MCP Server Configuration
|
|
259
|
+
# Generated on ${new Date().toISOString()}
|
|
260
|
+
|
|
261
|
+
# API Configuration
|
|
262
|
+
CONTAINER_API_URL=${config.apiUrl}
|
|
263
|
+
NODE_ENV=${config.environment || 'development'}
|
|
264
|
+
|
|
265
|
+
`;
|
|
266
|
+
// Add authentication configuration
|
|
267
|
+
if (config.apiKey) {
|
|
268
|
+
content += `# Authentication (API Key)
|
|
269
|
+
API_KEY=${config.apiKey}
|
|
270
|
+
|
|
271
|
+
`;
|
|
272
|
+
}
|
|
273
|
+
else if (config.oauthToken) {
|
|
274
|
+
content += `# Authentication (OAuth Token)
|
|
275
|
+
OAUTH_TOKEN=${config.oauthToken}
|
|
276
|
+
|
|
277
|
+
`;
|
|
278
|
+
}
|
|
279
|
+
else if (config.clientId && config.clientSecret) {
|
|
280
|
+
content += `# Authentication (OAuth Client Credentials)
|
|
281
|
+
OAUTH_CLIENT_ID=${config.clientId}
|
|
282
|
+
OAUTH_CLIENT_SECRET=${config.clientSecret}
|
|
283
|
+
|
|
284
|
+
`;
|
|
285
|
+
}
|
|
286
|
+
// Add advanced configuration if provided
|
|
287
|
+
if (config.logLevel) {
|
|
288
|
+
content += `# Logging
|
|
289
|
+
LOG_LEVEL=${config.logLevel}
|
|
290
|
+
|
|
291
|
+
`;
|
|
292
|
+
}
|
|
293
|
+
if (config.requestTimeout) {
|
|
294
|
+
content += `# Timeouts
|
|
295
|
+
REQUEST_TIMEOUT=${config.requestTimeout}
|
|
296
|
+
|
|
297
|
+
`;
|
|
298
|
+
}
|
|
299
|
+
if (config.rateLimitPerMinute) {
|
|
300
|
+
content += `# Rate Limiting
|
|
301
|
+
RATE_LIMIT_PER_MINUTE=${config.rateLimitPerMinute}
|
|
302
|
+
|
|
303
|
+
`;
|
|
304
|
+
}
|
|
305
|
+
content += `# Security
|
|
306
|
+
VALIDATE_CERTIFICATES=true
|
|
307
|
+
|
|
308
|
+
# Additional settings (uncomment to customize)
|
|
309
|
+
# CONNECT_TIMEOUT=10000
|
|
310
|
+
# MAX_RETRIES=3
|
|
311
|
+
# BACKOFF_MULTIPLIER=2
|
|
312
|
+
# MAX_BACKOFF_MS=30000
|
|
313
|
+
# RATE_LIMIT_PER_HOUR=1000
|
|
314
|
+
# ALLOWED_SCOPES=containers:read,containers:write,builds:read,builds:write,files:read,files:write
|
|
315
|
+
`;
|
|
316
|
+
return content;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
exports.MCPServerSetup = MCPServerSetup;
|
|
320
|
+
// Run setup if this file is executed directly
|
|
321
|
+
if (require.main === module) {
|
|
322
|
+
const setup = new MCPServerSetup();
|
|
323
|
+
setup.run().catch((error) => {
|
|
324
|
+
console.error('Setup failed:', error);
|
|
325
|
+
process.exit(1);
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
export interface MCPServerConfig {
|
|
2
|
+
baseUrl: string;
|
|
3
|
+
apiKey?: string;
|
|
4
|
+
oauthToken?: string;
|
|
5
|
+
clientId?: string;
|
|
6
|
+
clientSecret?: string;
|
|
7
|
+
environment: 'development' | 'production' | 'test';
|
|
8
|
+
logLevel: 'error' | 'warn' | 'info' | 'debug';
|
|
9
|
+
rateLimits: {
|
|
10
|
+
requestsPerMinute: number;
|
|
11
|
+
requestsPerHour: number;
|
|
12
|
+
};
|
|
13
|
+
timeouts: {
|
|
14
|
+
request: number;
|
|
15
|
+
connect: number;
|
|
16
|
+
};
|
|
17
|
+
retryConfig: {
|
|
18
|
+
maxRetries: number;
|
|
19
|
+
backoffMultiplier: number;
|
|
20
|
+
maxBackoffMs: number;
|
|
21
|
+
};
|
|
22
|
+
security: {
|
|
23
|
+
validateCertificates: boolean;
|
|
24
|
+
allowedScopes: string[];
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export interface AuthTokenResponse {
|
|
28
|
+
access_token: string;
|
|
29
|
+
token_type: string;
|
|
30
|
+
expires_in: number;
|
|
31
|
+
refresh_token?: string;
|
|
32
|
+
scope?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface ApiKeyInfo {
|
|
35
|
+
id: string;
|
|
36
|
+
name: string;
|
|
37
|
+
scope: string[];
|
|
38
|
+
isActive: boolean;
|
|
39
|
+
createdAt: string;
|
|
40
|
+
lastUsed?: string;
|
|
41
|
+
expiresAt?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface Container {
|
|
44
|
+
id: string;
|
|
45
|
+
name: string;
|
|
46
|
+
description: string;
|
|
47
|
+
dockerfile: string;
|
|
48
|
+
tags: string[];
|
|
49
|
+
isPrivate: boolean;
|
|
50
|
+
createdAt: string;
|
|
51
|
+
updatedAt: string;
|
|
52
|
+
userId: string;
|
|
53
|
+
envVars?: Record<string, string>;
|
|
54
|
+
buildConfig?: BuildConfig;
|
|
55
|
+
}
|
|
56
|
+
export interface ContainerListResponse {
|
|
57
|
+
containers: Container[];
|
|
58
|
+
total: number;
|
|
59
|
+
page: number;
|
|
60
|
+
limit: number;
|
|
61
|
+
hasMore: boolean;
|
|
62
|
+
}
|
|
63
|
+
export interface CreateContainerRequest {
|
|
64
|
+
name: string;
|
|
65
|
+
description: string;
|
|
66
|
+
dockerfile: string;
|
|
67
|
+
tags?: string[];
|
|
68
|
+
isPrivate?: boolean;
|
|
69
|
+
envVars?: Record<string, string>;
|
|
70
|
+
}
|
|
71
|
+
export interface BuildConfig {
|
|
72
|
+
context: string;
|
|
73
|
+
dockerfile: string;
|
|
74
|
+
buildArgs?: Record<string, string>;
|
|
75
|
+
target?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface BuildStatus {
|
|
78
|
+
id: string;
|
|
79
|
+
containerId: string;
|
|
80
|
+
status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
81
|
+
startTime: string;
|
|
82
|
+
endTime?: string;
|
|
83
|
+
logs?: string[];
|
|
84
|
+
error?: string;
|
|
85
|
+
progress?: number;
|
|
86
|
+
}
|
|
87
|
+
export interface BuildListResponse {
|
|
88
|
+
builds: BuildStatus[];
|
|
89
|
+
total: number;
|
|
90
|
+
page: number;
|
|
91
|
+
limit: number;
|
|
92
|
+
hasMore: boolean;
|
|
93
|
+
}
|
|
94
|
+
export interface BuildLogEntry {
|
|
95
|
+
id: string;
|
|
96
|
+
containerId: string;
|
|
97
|
+
buildId: string;
|
|
98
|
+
timestamp: string;
|
|
99
|
+
level: 'info' | 'warn' | 'error' | 'debug';
|
|
100
|
+
message: string;
|
|
101
|
+
status: string;
|
|
102
|
+
createdAt: string;
|
|
103
|
+
}
|
|
104
|
+
export interface ContainerFile {
|
|
105
|
+
name: string;
|
|
106
|
+
path: string;
|
|
107
|
+
size?: number;
|
|
108
|
+
type?: 'file' | 'directory';
|
|
109
|
+
mimeType?: string;
|
|
110
|
+
lastModified?: string;
|
|
111
|
+
content?: string;
|
|
112
|
+
}
|
|
113
|
+
export interface FileListResponse {
|
|
114
|
+
files: ContainerFile[];
|
|
115
|
+
total: number;
|
|
116
|
+
path: string;
|
|
117
|
+
}
|
|
118
|
+
export interface FileUploadRequest {
|
|
119
|
+
containerId: string;
|
|
120
|
+
filePath: string;
|
|
121
|
+
content: string;
|
|
122
|
+
mimeType?: string;
|
|
123
|
+
encoding?: 'base64' | 'utf8';
|
|
124
|
+
}
|
|
125
|
+
export interface FileUploadResult {
|
|
126
|
+
id: string;
|
|
127
|
+
path: string;
|
|
128
|
+
name: string;
|
|
129
|
+
size: number;
|
|
130
|
+
mimeType: string;
|
|
131
|
+
uploadedAt: string;
|
|
132
|
+
}
|
|
133
|
+
export interface Capability {
|
|
134
|
+
id: string;
|
|
135
|
+
name: string;
|
|
136
|
+
description: string;
|
|
137
|
+
category: string;
|
|
138
|
+
version: string;
|
|
139
|
+
dependencies?: string[];
|
|
140
|
+
configuration?: Record<string, any>;
|
|
141
|
+
isActive: boolean;
|
|
142
|
+
}
|
|
143
|
+
export interface CapabilityListResponse {
|
|
144
|
+
capabilities: Capability[];
|
|
145
|
+
total: number;
|
|
146
|
+
page: number;
|
|
147
|
+
limit: number;
|
|
148
|
+
hasMore: boolean;
|
|
149
|
+
}
|
|
150
|
+
export interface APIError {
|
|
151
|
+
type: string;
|
|
152
|
+
message: string;
|
|
153
|
+
status: number;
|
|
154
|
+
code: string;
|
|
155
|
+
details?: any;
|
|
156
|
+
requestId?: string;
|
|
157
|
+
timestamp: string;
|
|
158
|
+
context?: string;
|
|
159
|
+
stack?: string;
|
|
160
|
+
}
|
|
161
|
+
export interface ProcessedError {
|
|
162
|
+
type: string;
|
|
163
|
+
message: string;
|
|
164
|
+
status: number;
|
|
165
|
+
code: string;
|
|
166
|
+
details?: any;
|
|
167
|
+
requestId: string;
|
|
168
|
+
timestamp: string;
|
|
169
|
+
context?: string;
|
|
170
|
+
stack?: string;
|
|
171
|
+
}
|
|
172
|
+
export interface ListContainersParams {
|
|
173
|
+
scope?: 'public' | 'myCollection' | 'all';
|
|
174
|
+
limit?: number;
|
|
175
|
+
offset?: number;
|
|
176
|
+
query?: string;
|
|
177
|
+
}
|
|
178
|
+
export interface GetContainerParams {
|
|
179
|
+
containerId: string;
|
|
180
|
+
}
|
|
181
|
+
export interface CreateContainerParams extends CreateContainerRequest {
|
|
182
|
+
}
|
|
183
|
+
export interface UpdateContainerParams {
|
|
184
|
+
containerId: string;
|
|
185
|
+
name?: string;
|
|
186
|
+
description?: string;
|
|
187
|
+
dockerfile?: string;
|
|
188
|
+
tags?: string[];
|
|
189
|
+
isPrivate?: boolean;
|
|
190
|
+
envVars?: Record<string, string>;
|
|
191
|
+
}
|
|
192
|
+
export interface DeleteContainerParams {
|
|
193
|
+
containerId: string;
|
|
194
|
+
}
|
|
195
|
+
export interface BuildContainerParams {
|
|
196
|
+
containerId: string;
|
|
197
|
+
buildArgs?: Record<string, string>;
|
|
198
|
+
target?: string;
|
|
199
|
+
}
|
|
200
|
+
export interface GetBuildStatusParams {
|
|
201
|
+
containerId: string;
|
|
202
|
+
buildId?: string;
|
|
203
|
+
}
|
|
204
|
+
export interface ListBuildsParams {
|
|
205
|
+
containerId?: string;
|
|
206
|
+
status?: string;
|
|
207
|
+
limit?: number;
|
|
208
|
+
offset?: number;
|
|
209
|
+
}
|
|
210
|
+
export interface UploadFileParams extends FileUploadRequest {
|
|
211
|
+
}
|
|
212
|
+
export interface GetFileContentParams {
|
|
213
|
+
containerId: string;
|
|
214
|
+
filePath: string;
|
|
215
|
+
}
|
|
216
|
+
export interface ListContainerFilesParams {
|
|
217
|
+
containerId: string;
|
|
218
|
+
path?: string;
|
|
219
|
+
}
|
|
220
|
+
export interface ListCapabilitiesParams {
|
|
221
|
+
category?: string;
|
|
222
|
+
limit?: number;
|
|
223
|
+
offset?: number;
|
|
224
|
+
query?: string;
|
|
225
|
+
}
|
|
226
|
+
export interface GetCapabilityParams {
|
|
227
|
+
capabilityId: string;
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,wDAAwD"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { APIError, ProcessedError } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Custom error class for API errors
|
|
4
|
+
*/
|
|
5
|
+
export declare class ApiError extends Error {
|
|
6
|
+
readonly type: string;
|
|
7
|
+
readonly status: number;
|
|
8
|
+
readonly code: string;
|
|
9
|
+
readonly details?: any;
|
|
10
|
+
readonly requestId?: string;
|
|
11
|
+
readonly timestamp: string;
|
|
12
|
+
readonly context?: string;
|
|
13
|
+
constructor(message: string, status?: number, code?: string, details?: any, requestId?: string, context?: string);
|
|
14
|
+
/**
|
|
15
|
+
* Convert to API error response format
|
|
16
|
+
*/
|
|
17
|
+
toResponse(): APIError;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Error handler class for processing different types of errors
|
|
21
|
+
*/
|
|
22
|
+
export declare class ErrorHandler {
|
|
23
|
+
/**
|
|
24
|
+
* Process any error and return a standardized format
|
|
25
|
+
*/
|
|
26
|
+
static processError(error: any, context?: string, requestId?: string): ProcessedError;
|
|
27
|
+
/**
|
|
28
|
+
* Create a standardized error for authentication issues
|
|
29
|
+
*/
|
|
30
|
+
static createAuthError(message: string, details?: any): ApiError;
|
|
31
|
+
/**
|
|
32
|
+
* Create a standardized error for authorization issues
|
|
33
|
+
*/
|
|
34
|
+
static createAuthorizationError(message: string, details?: any): ApiError;
|
|
35
|
+
/**
|
|
36
|
+
* Create a standardized error for validation issues
|
|
37
|
+
*/
|
|
38
|
+
static createValidationError(message: string, details?: any): ApiError;
|
|
39
|
+
/**
|
|
40
|
+
* Create a standardized error for not found issues
|
|
41
|
+
*/
|
|
42
|
+
static createNotFoundError(message: string, details?: any): ApiError;
|
|
43
|
+
/**
|
|
44
|
+
* Create a standardized error for rate limiting
|
|
45
|
+
*/
|
|
46
|
+
static createRateLimitError(message?: string, details?: any): ApiError;
|
|
47
|
+
/**
|
|
48
|
+
* Create a standardized error for server errors
|
|
49
|
+
*/
|
|
50
|
+
static createServerError(message: string, details?: any): ApiError;
|
|
51
|
+
/**
|
|
52
|
+
* Log error with appropriate level based on status
|
|
53
|
+
*/
|
|
54
|
+
static logError(error: ProcessedError): void;
|
|
55
|
+
/**
|
|
56
|
+
* Handle errors in async operations
|
|
57
|
+
*/
|
|
58
|
+
static handleAsync<T>(operation: () => Promise<T>, context?: string, requestId?: string): Promise<T>;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Utility functions for common error scenarios
|
|
62
|
+
*/
|
|
63
|
+
export declare const ErrorUtils: {
|
|
64
|
+
/**
|
|
65
|
+
* Wrap async function with error handling
|
|
66
|
+
*/
|
|
67
|
+
withErrorHandling: <T extends any[], R>(fn: (...args: T) => Promise<R>, context?: string) => (...args: T) => Promise<R>;
|
|
68
|
+
/**
|
|
69
|
+
* Check if error is retryable
|
|
70
|
+
*/
|
|
71
|
+
isRetryable: (error: any) => boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Get retry delay with exponential backoff
|
|
74
|
+
*/
|
|
75
|
+
getRetryDelay: (attempt: number, baseDelay?: number) => number;
|
|
76
|
+
};
|
|
77
|
+
export default ErrorHandler;
|
|
78
|
+
//# sourceMappingURL=errorHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorHandler.d.ts","sourceRoot":"","sources":["../../src/utils/errorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAGpD;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,CAAC,EAAE,GAAG,CAAC;IAC9B,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC;gBAG/B,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAY,EACpB,IAAI,GAAE,MAAwB,EAC9B,OAAO,CAAC,EAAE,GAAG,EACb,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM;IAkBlB;;OAEG;IACH,UAAU,IAAI,QAAQ;CAavB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc;IA8FrF;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,QAAQ;IAIhE;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,QAAQ;IAIzE;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,QAAQ;IAItE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,QAAQ;IAIpE;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,OAAO,GAAE,MAA8B,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,QAAQ;IAI7F;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,QAAQ;IAIlE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAgC5C;;OAEG;WACU,WAAW,CAAC,CAAC,EACxB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC;CAgBd;AASD;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;wBACiB,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,MAChC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,YACpB,MAAM,MAEF,GAAG,MAAM,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC;IAKvC;;OAEG;yBACkB,GAAG,KAAG,OAAO;IAsBlC;;OAEG;6BACsB,MAAM,cAAa,MAAM,KAAU,MAAM;CAKnE,CAAC;AAGF,eAAe,YAAY,CAAC"}
|