apprecio-mcp-base 1.1.15 → 1.2.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/cli/dist/generators/init-generator.d.ts.map +1 -1
- package/cli/dist/generators/init-generator.js +40 -126
- package/cli/dist/generators/init-generator.js.map +1 -1
- package/cli/dist/generators/router-generator.d.ts.map +1 -1
- package/cli/dist/generators/router-generator.js +3 -1
- package/cli/dist/generators/router-generator.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-generator.d.ts","sourceRoot":"","sources":["../../generators/init-generator.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"init-generator.d.ts","sourceRoot":"","sources":["../../generators/init-generator.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AA2qBD;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
|
|
@@ -10,7 +10,7 @@ function generateApiKey() {
|
|
|
10
10
|
/**
|
|
11
11
|
* Crea el archivo .env
|
|
12
12
|
*/
|
|
13
|
-
async function createEnvFile(projectPath, useDatabase) {
|
|
13
|
+
async function createEnvFile(projectPath, useDatabase, apiBaseUrl) {
|
|
14
14
|
const apiKey = generateApiKey();
|
|
15
15
|
const envContent = `# Authentication
|
|
16
16
|
API_KEY=${apiKey}
|
|
@@ -19,6 +19,8 @@ AUTH_ENABLED=false
|
|
|
19
19
|
# Database (opcional)
|
|
20
20
|
MONGODB_URI=${useDatabase ? 'mongodb://localhost:27017/your-database' : ''}
|
|
21
21
|
|
|
22
|
+
API_BASE_URL='${apiBaseUrl}'
|
|
23
|
+
|
|
22
24
|
# Server
|
|
23
25
|
MCP_SSE_PORT=3200
|
|
24
26
|
|
|
@@ -131,64 +133,60 @@ main();
|
|
|
131
133
|
/**
|
|
132
134
|
* Crea el archivo services/api.ts
|
|
133
135
|
*/
|
|
134
|
-
async function createApiServiceFile(projectPath
|
|
136
|
+
async function createApiServiceFile(projectPath) {
|
|
135
137
|
const apiContent = `import axios from 'axios';
|
|
136
138
|
|
|
137
139
|
export default class ApiClient {
|
|
138
|
-
public token: string;
|
|
139
140
|
public baseUrl: string;
|
|
140
141
|
public timeout: number;
|
|
141
142
|
|
|
142
|
-
constructor() {
|
|
143
|
-
this.
|
|
144
|
-
this.baseUrl = '${apiBaseUrl}';
|
|
143
|
+
constructor(url: string) {
|
|
144
|
+
this.baseUrl = url;
|
|
145
145
|
this.timeout = 600000; // 10 minutes timeout
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
private getHeaders(
|
|
148
|
+
private getHeaders() {
|
|
149
149
|
return {
|
|
150
|
-
|
|
151
|
-
|
|
150
|
+
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
|
|
151
|
+
'Content-Security-Policy': "default-src 'self'",
|
|
152
|
+
'X-Frame-Options': 'DENY',
|
|
153
|
+
'X-Content-Type-Options': 'nosniff',
|
|
154
|
+
'Referrer-Policy': 'no-referrer',
|
|
152
155
|
};
|
|
153
156
|
}
|
|
154
157
|
|
|
155
|
-
protected async get<T>(endpoint: string, params: Record<string, any> = {}
|
|
158
|
+
protected async get<T>(endpoint: string, params: Record<string, any> = {}): Promise<T> {
|
|
156
159
|
const response = await axios.get(\`\${this.baseUrl}/\${endpoint}\`, {
|
|
157
|
-
headers: this.getHeaders(
|
|
160
|
+
headers: this.getHeaders(),
|
|
158
161
|
params,
|
|
159
162
|
timeout: this.timeout,
|
|
160
163
|
});
|
|
161
164
|
return response.data;
|
|
162
165
|
}
|
|
163
166
|
|
|
164
|
-
protected async post<T>(endpoint: string, data: Record<string, any
|
|
167
|
+
protected async post<T>(endpoint: string, data: Record<string, any>): Promise<T> {
|
|
165
168
|
const response = await axios.post(\`\${this.baseUrl}/\${endpoint}\`, data, {
|
|
166
|
-
headers: this.getHeaders(
|
|
169
|
+
headers: this.getHeaders(),
|
|
167
170
|
timeout: this.timeout,
|
|
168
171
|
});
|
|
169
172
|
return response.data;
|
|
170
173
|
}
|
|
171
174
|
|
|
172
|
-
protected async patch<T>(endpoint: string, data: Record<string, any
|
|
175
|
+
protected async patch<T>(endpoint: string, data: Record<string, any>): Promise<T> {
|
|
173
176
|
const response = await axios.patch(\`\${this.baseUrl}/\${endpoint}\`, data, {
|
|
174
|
-
headers: this.getHeaders(
|
|
177
|
+
headers: this.getHeaders(),
|
|
175
178
|
timeout: this.timeout,
|
|
176
179
|
});
|
|
177
180
|
return response.data;
|
|
178
181
|
}
|
|
179
182
|
|
|
180
|
-
protected async put<T>(endpoint: string, data: Record<string, any
|
|
183
|
+
protected async put<T>(endpoint: string, data: Record<string, any>): Promise<T> {
|
|
181
184
|
const response = await axios.put(\`\${this.baseUrl}/\${endpoint}\`, data, {
|
|
182
|
-
headers: this.getHeaders(
|
|
185
|
+
headers: this.getHeaders(),
|
|
183
186
|
timeout: this.timeout,
|
|
184
187
|
});
|
|
185
188
|
return response.data;
|
|
186
189
|
}
|
|
187
|
-
|
|
188
|
-
async getUserInfo(token: string) {
|
|
189
|
-
return this.get('user', {}, token);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
190
|
`;
|
|
193
191
|
await fs.writeFile(path.join(projectPath, 'src', 'services', 'api.ts'), apiContent);
|
|
194
192
|
}
|
|
@@ -208,6 +206,19 @@ export function sanitize(dirty: string): string {
|
|
|
208
206
|
`;
|
|
209
207
|
await fs.writeFile(path.join(projectPath, 'src', 'utils', 'sanitize.ts'), sanitizeContent);
|
|
210
208
|
}
|
|
209
|
+
async function createConfigFile(projectPath) {
|
|
210
|
+
const configContent = `import { config } from 'dotenv';
|
|
211
|
+
config({ path: '.env' });
|
|
212
|
+
|
|
213
|
+
export function getEnv(name: string): string {
|
|
214
|
+
const value = process.env[name];
|
|
215
|
+
if (!value) {
|
|
216
|
+
throw new Error(\`\❌ Variable de entorno requerida no definida: ${name}\`\);
|
|
217
|
+
}
|
|
218
|
+
return value;
|
|
219
|
+
}`;
|
|
220
|
+
await fs.writeFile(path.join(projectPath, 'src', 'utils', 'config.ts'), configContent);
|
|
221
|
+
}
|
|
211
222
|
/**
|
|
212
223
|
* Crea el package.json
|
|
213
224
|
*/
|
|
@@ -277,7 +288,7 @@ async function createTsConfig(projectPath) {
|
|
|
277
288
|
include: ['src/**/*'],
|
|
278
289
|
exclude: ['node_modules', 'dist']
|
|
279
290
|
};
|
|
280
|
-
await fs.writeFile(path.join(projectPath, '
|
|
291
|
+
await fs.writeFile(path.join(projectPath, 'ts.config.json'), JSON.stringify(tsconfig, null, 2));
|
|
281
292
|
}
|
|
282
293
|
/**
|
|
283
294
|
* Crea .gitignore
|
|
@@ -321,94 +332,6 @@ coverage/
|
|
|
321
332
|
`;
|
|
322
333
|
await fs.writeFile(path.join(projectPath, '.gitignore'), gitignoreContent);
|
|
323
334
|
}
|
|
324
|
-
/**
|
|
325
|
-
* Crea script de diagnóstico de permisos
|
|
326
|
-
*/
|
|
327
|
-
async function createCheckPermissionsScript(projectPath) {
|
|
328
|
-
const scriptContent = `#!/bin/bash
|
|
329
|
-
|
|
330
|
-
echo "🔍 Diagnóstico de Permisos"
|
|
331
|
-
echo ""
|
|
332
|
-
|
|
333
|
-
# Verificar propietario
|
|
334
|
-
OWNER=$(ls -ld . | awk '{print $3}')
|
|
335
|
-
CURRENT_USER=$(whoami)
|
|
336
|
-
|
|
337
|
-
echo "Propietario: $OWNER"
|
|
338
|
-
echo "Usuario actual: $CURRENT_USER"
|
|
339
|
-
echo ""
|
|
340
|
-
|
|
341
|
-
if [ "$OWNER" != "$CURRENT_USER" ]; then
|
|
342
|
-
echo "⚠️ Problema: El propietario no coincide"
|
|
343
|
-
echo ""
|
|
344
|
-
echo "Solución:"
|
|
345
|
-
echo " sudo chown -R $CURRENT_USER:$(id -gn) ."
|
|
346
|
-
echo ""
|
|
347
|
-
exit 1
|
|
348
|
-
fi
|
|
349
|
-
|
|
350
|
-
# Verificar permisos de escritura
|
|
351
|
-
if [ ! -w "." ]; then
|
|
352
|
-
echo "❌ No tienes permisos de escritura"
|
|
353
|
-
echo ""
|
|
354
|
-
echo "Solución:"
|
|
355
|
-
echo " chmod -R 755 ."
|
|
356
|
-
echo ""
|
|
357
|
-
exit 1
|
|
358
|
-
fi
|
|
359
|
-
|
|
360
|
-
echo "✅ Permisos correctos"
|
|
361
|
-
echo ""
|
|
362
|
-
echo "Puedes ejecutar: npm install"
|
|
363
|
-
`;
|
|
364
|
-
const scriptPath = path.join(projectPath, 'check-permissions.sh');
|
|
365
|
-
await fs.writeFile(scriptPath, scriptContent);
|
|
366
|
-
await fs.chmod(scriptPath, 0o755);
|
|
367
|
-
}
|
|
368
|
-
/**
|
|
369
|
-
* Crea script de post-instalación
|
|
370
|
-
*/
|
|
371
|
-
async function createPostInstallScript(projectPath) {
|
|
372
|
-
const scriptContent = `#!/bin/bash
|
|
373
|
-
|
|
374
|
-
# Script de post-instalación
|
|
375
|
-
echo "🔧 Post-instalación de proyecto MCP"
|
|
376
|
-
echo ""
|
|
377
|
-
|
|
378
|
-
if [ ! -d "node_modules" ]; then
|
|
379
|
-
echo "📦 Instalando dependencias..."
|
|
380
|
-
npm install
|
|
381
|
-
echo "✅ Dependencias instaladas"
|
|
382
|
-
else
|
|
383
|
-
echo "✅ node_modules ya existe"
|
|
384
|
-
fi
|
|
385
|
-
|
|
386
|
-
echo ""
|
|
387
|
-
|
|
388
|
-
if npm list -g apprecio-mcp-base --depth=0 &> /dev/null; then
|
|
389
|
-
echo "🔗 apprecio-mcp-base disponible globalmente"
|
|
390
|
-
echo ""
|
|
391
|
-
|
|
392
|
-
read -p "¿Linkear apprecio-mcp-base? (y/N): " -n 1 -r
|
|
393
|
-
echo ""
|
|
394
|
-
|
|
395
|
-
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
396
|
-
npm link apprecio-mcp-base
|
|
397
|
-
echo "✅ apprecio-mcp-base linkeado"
|
|
398
|
-
fi
|
|
399
|
-
else
|
|
400
|
-
echo "⚠️ apprecio-mcp-base no disponible globalmente"
|
|
401
|
-
echo " Ejecuta: cd apprecio-mcp-base && npm link"
|
|
402
|
-
fi
|
|
403
|
-
|
|
404
|
-
echo ""
|
|
405
|
-
echo "✅ Setup completo!"
|
|
406
|
-
echo " npm run dev - Para iniciar"
|
|
407
|
-
`;
|
|
408
|
-
const scriptPath = path.join(projectPath, 'post-install.sh');
|
|
409
|
-
await fs.writeFile(scriptPath, scriptContent);
|
|
410
|
-
await fs.chmod(scriptPath, 0o755); // Hacer ejecutable
|
|
411
|
-
}
|
|
412
335
|
async function createReadme(projectPath, options) {
|
|
413
336
|
const readmeContent = `# ${options.projectName}
|
|
414
337
|
|
|
@@ -722,7 +645,7 @@ MIT
|
|
|
722
645
|
|
|
723
646
|
---
|
|
724
647
|
|
|
725
|
-
**Generated with** [
|
|
648
|
+
**Generated with** [apprecio-mcp-cli](https://npmjs.com/package/@apprecio/mcp-cli)
|
|
726
649
|
`;
|
|
727
650
|
await fs.writeFile(path.join(projectPath, 'README.md'), readmeContent);
|
|
728
651
|
}
|
|
@@ -748,22 +671,21 @@ export async function initProject(options) {
|
|
|
748
671
|
path.join(projectPath, 'src', 'services'),
|
|
749
672
|
path.join(projectPath, 'src', 'utils'),
|
|
750
673
|
];
|
|
674
|
+
await fs.ensureDir(projectPath);
|
|
675
|
+
await fs.chmod(projectPath, 0o755);
|
|
751
676
|
for (const dir of dirs) {
|
|
752
677
|
await fs.ensureDir(dir);
|
|
753
|
-
// Establecer permisos correctos para directorios
|
|
754
678
|
await fs.chmod(dir, 0o755);
|
|
755
679
|
}
|
|
756
680
|
// 2. Crear archivos
|
|
757
681
|
await Promise.all([
|
|
758
|
-
createEnvFile(projectPath, useDatabase),
|
|
682
|
+
createEnvFile(projectPath, useDatabase, apiBaseUrl),
|
|
759
683
|
createMainFile(projectPath, options.projectName),
|
|
760
|
-
createApiServiceFile(projectPath
|
|
684
|
+
createApiServiceFile(projectPath),
|
|
761
685
|
createSanitizeFile(projectPath),
|
|
762
686
|
createPackageJson(projectPath, options),
|
|
763
687
|
createTsConfig(projectPath),
|
|
764
688
|
createGitIgnore(projectPath),
|
|
765
|
-
createCheckPermissionsScript(projectPath),
|
|
766
|
-
createPostInstallScript(projectPath),
|
|
767
689
|
createReadme(projectPath, options),
|
|
768
690
|
]);
|
|
769
691
|
// 3. Establecer permisos correctos para todos los archivos
|
|
@@ -780,15 +702,7 @@ export async function initProject(options) {
|
|
|
780
702
|
for (const file of filesToChmod) {
|
|
781
703
|
const filePath = path.join(projectPath, file);
|
|
782
704
|
if (await fs.pathExists(filePath)) {
|
|
783
|
-
await fs.chmod(filePath,
|
|
784
|
-
}
|
|
785
|
-
}
|
|
786
|
-
// 4. post-install.sh y check-permissions.sh deben ser ejecutables
|
|
787
|
-
const executableScripts = ['post-install.sh', 'check-permissions.sh'];
|
|
788
|
-
for (const script of executableScripts) {
|
|
789
|
-
const scriptPath = path.join(projectPath, script);
|
|
790
|
-
if (await fs.pathExists(scriptPath)) {
|
|
791
|
-
await fs.chmod(scriptPath, 0o755); // rwxr-xr-x
|
|
705
|
+
await fs.chmod(filePath, 0o755); // rw-r--r--
|
|
792
706
|
}
|
|
793
707
|
}
|
|
794
708
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-generator.js","sourceRoot":"","sources":["../../generators/init-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAW5B;;GAEG;AACH,SAAS,cAAc;IACnB,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,WAAmB,EAAE,WAAoB;
|
|
1
|
+
{"version":3,"file":"init-generator.js","sourceRoot":"","sources":["../../generators/init-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-generator.d.ts","sourceRoot":"","sources":["../../generators/router-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,wBAAsB,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"router-generator.d.ts","sourceRoot":"","sources":["../../generators/router-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,wBAAsB,cAAc,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgErF"}
|
|
@@ -16,9 +16,11 @@ export async function generateRouter(options) {
|
|
|
16
16
|
routerContent += `import ${className} from './${featureName}.service.js';\n`;
|
|
17
17
|
}
|
|
18
18
|
routerContent += `\n\n`;
|
|
19
|
+
routerContent += `import { getEnv } from '../../utils/config.js';`;
|
|
20
|
+
routerContent += `\n\n`;
|
|
19
21
|
// Crear instancia del service (si existe)
|
|
20
22
|
if (serviceType !== 'none') {
|
|
21
|
-
routerContent += `const ${instanceName} = new ${className}();\n\n`;
|
|
23
|
+
routerContent += `const ${instanceName} = new ${className}(getEnv('API_BASE_URL'));\n\n`;
|
|
22
24
|
}
|
|
23
25
|
// Exportar FeatureModule
|
|
24
26
|
routerContent += `export const ${toCamelCase(featureName)}Feature: FeatureModule = {\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router-generator.js","sourceRoot":"","sources":["../../generators/router-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA+B;IAChE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEjG,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC;IAE3D,IAAI,aAAa,GAAG,EAAE,CAAC;IAEvB,UAAU;IACV,aAAa,IAAI,wEAAwE,CAAC;IAC1F,aAAa,IAAI,4BAA4B,CAAC;IAC9C,aAAa,IAAI,2DAA2D,CAAC;IAC7E,aAAa,IAAI,+CAA+C,CAAC;IAEjE,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QACzB,aAAa,IAAI,UAAU,SAAS,YAAY,WAAW,iBAAiB,CAAC;IACjF,CAAC;IAED,aAAa,IAAI,MAAM,CAAC;IAExB,0CAA0C;IAC1C,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QACzB,aAAa,IAAI,SAAS,YAAY,UAAU,SAAS,
|
|
1
|
+
{"version":3,"file":"router-generator.js","sourceRoot":"","sources":["../../generators/router-generator.ts"],"names":[],"mappings":"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"}
|