@fkom13/mcp-sftp-orchestrator 11.3.0 → 11.8.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/test_features.js DELETED
@@ -1,112 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import queue from './queue.js';
4
- import sshPool from './sshPool.js';
5
- import { glob } from 'glob';
6
- import path from 'path';
7
-
8
- console.log('🧪 Test des fonctionnalités MCP Orchestrator v6.0\n');
9
-
10
- // Test 1: Queue persistante
11
- console.log('✅ Test Queue:');
12
- const testJob = queue.addJob({
13
- type: 'test',
14
- alias: 'test_server',
15
- cmd: 'echo "Test"',
16
- status: 'pending'
17
- });
18
- console.log(` - Tâche créée: ${testJob.id}`);
19
- console.log(` - Stats queue:`, queue.getStats());
20
-
21
- // Test 2: Pool de connexions
22
- console.log('\n✅ Test Pool SSH:');
23
- const poolStats = sshPool.getStats();
24
- console.log(` - Connexions totales: ${poolStats.totalConnections}`);
25
- console.log(` - Serveurs actifs: ${Object.keys(poolStats.byServer).length}`);
26
-
27
- // Test 3: Patterns Glob
28
- console.log('\n✅ Test Patterns Glob:');
29
- async function testGlob() {
30
- const patterns = ['*.js', '*.json'];
31
- for (const pattern of patterns) {
32
- const files = await glob(pattern, { cwd: process.cwd() });
33
- console.log(` - Pattern "${pattern}": ${files.length} fichiers trouvés`);
34
- }
35
- }
36
-
37
- // Test 4: Détection de prompts interactifs
38
- console.log('\n✅ Test Détection Prompts:');
39
- const testPrompts = [
40
- 'Are you sure you want to continue? (yes/no)',
41
- 'Password:',
42
- 'Do you want to continue [Y/n]?',
43
- 'Save configuration?'
44
- ];
45
-
46
- function detectPrompt(text) {
47
- const patterns = {
48
- 'continue': /continue.*\?/i,
49
- 'password': /password:/i,
50
- 'yes/no': /\(yes\/no\)/i,
51
- 'y/n': /\[y\/n\]/i,
52
- 'save': /save.*\?/i
53
- };
54
-
55
- for (const [name, regex] of Object.entries(patterns)) {
56
- if (regex.test(text)) {
57
- return name;
58
- }
59
- }
60
- return null;
61
- }
62
-
63
- testPrompts.forEach(prompt => {
64
- const detected = detectPrompt(prompt);
65
- console.log(` - "${prompt.substring(0, 30)}..." → ${detected || 'non détecté'}`);
66
- });
67
-
68
- // Test 5: Logs système
69
- console.log('\n✅ Test Logs:');
70
- queue.log('info', 'Test log info');
71
- queue.log('warn', 'Test log warning');
72
- queue.log('error', 'Test log error');
73
- const logs = queue.getLogs({ limit: 3 });
74
- console.log(` - ${logs.length} logs récupérés`);
75
-
76
- // Test 6: Gestion des tâches crashées
77
- console.log('\n✅ Test Gestion Crashes:');
78
- const crashedJob = queue.addJob({
79
- type: 'test_crash',
80
- alias: 'test',
81
- status: 'running'
82
- });
83
- queue.updateJobStatus(crashedJob.id, 'crashed', {
84
- canRetry: true,
85
- crashedAt: new Date()
86
- });
87
- const crashed = queue.getCrashedJobs();
88
- console.log(` - Tâches crashées: ${crashed.length}`);
89
- if (crashed.length > 0) {
90
- console.log(` - Peut être relancée: ${crashed[0].canRetry}`);
91
- }
92
-
93
- // Test 7: Statistiques
94
- console.log('\n✅ Résumé des Statistiques:');
95
- const finalStats = queue.getStats();
96
- console.log(` - Total tâches: ${finalStats.total}`);
97
- console.log(` - Par statut:`, finalStats.byStatus);
98
- console.log(` - Par type:`, finalStats.byType);
99
- console.log(` - Taux de succès: ${finalStats.successRate}%`);
100
-
101
- // Exécuter les tests asynchrones
102
- testGlob().then(() => {
103
- console.log('\n✨ Tous les tests sont passés avec succès!');
104
- console.log('📝 Note: Ce sont des tests unitaires, pas des tests de connexion réelle.');
105
-
106
- // Nettoyer
107
- queue.cleanOldJobs();
108
- process.exit(0);
109
- }).catch(err => {
110
- console.error('❌ Erreur lors des tests:', err);
111
- process.exit(1);
112
- });
package/test_mcp.js DELETED
@@ -1,55 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
- import { z } from "zod";
5
-
6
- console.error("🧪 Test MCP Server...");
7
-
8
- try {
9
- const server = new McpServer({
10
- name: "test-server",
11
- version: "1.0.0",
12
- description: "Test"
13
- });
14
-
15
- console.error("✅ Serveur créé");
16
-
17
- // Test tool simple
18
- server.registerTool(
19
- "test_tool",
20
- {
21
- title: "Test",
22
- description: "Un test simple",
23
- inputSchema: z.object({})
24
- },
25
- async () => {
26
- return { content: [{ type: "text", text: "OK" }] };
27
- }
28
- );
29
-
30
- console.error("✅ Tool enregistré");
31
-
32
- // Test tool avec params
33
- server.registerTool(
34
- "test_tool_with_params",
35
- {
36
- title: "Test avec params",
37
- description: "Test avec paramètres",
38
- inputSchema: z.object({
39
- message: z.string().describe("Un message")
40
- })
41
- },
42
- async (params) => {
43
- return { content: [{ type: "text", text: params.message }] };
44
- }
45
- );
46
-
47
- console.error("✅ Tool avec params enregistré");
48
- console.error("🎉 Tout fonctionne !");
49
- process.exit(0);
50
-
51
- } catch (error) {
52
- console.error("❌ ERREUR:", error);
53
- console.error("Stack:", error.stack);
54
- process.exit(1);
55
- }