Skip to main content
Glama
register-graph-tools-batch2.js‱7.12 kB
// src/tools/graph/register-graph-tools-batch2.ts // Enregistrement des outils graph Batch 2 dans le ToolRegistry import { toolRegistry } from "../../core/tool-registry.js"; import { deleteEntitiesHandler, deleteEntitiesTool } from "./delete-entities.js"; import { deleteObservationsHandler, deleteObservationsTool } from "./delete-observations.js"; import { deleteRelationsHandler, deleteRelationsTool } from "./delete-relations.js"; /** * Enregistre tous les outils graph Batch 2 dans le ToolRegistry */ export function registerGraphToolsBatch2() { console.log("📝 Enregistrement des outils graph Batch 2..."); // Enregistrer delete_entities try { toolRegistry.register(deleteEntitiesTool, deleteEntitiesHandler); console.log(`✅ Outil enregistrĂ©: ${deleteEntitiesTool.name}`); } catch (error) { console.error(`❌ Erreur lors de l'enregistrement de ${deleteEntitiesTool.name}:`, error); } // Enregistrer delete_observations try { toolRegistry.register(deleteObservationsTool, deleteObservationsHandler); console.log(`✅ Outil enregistrĂ©: ${deleteObservationsTool.name}`); } catch (error) { console.error(`❌ Erreur lors de l'enregistrement de ${deleteObservationsTool.name}:`, error); } // Enregistrer delete_relations try { toolRegistry.register(deleteRelationsTool, deleteRelationsHandler); console.log(`✅ Outil enregistrĂ©: ${deleteRelationsTool.name}`); } catch (error) { console.error(`❌ Erreur lors de l'enregistrement de ${deleteRelationsTool.name}:`, error); } console.log(`🎉 Batch 2 terminĂ©. Outils enregistrĂ©s au total: ${toolRegistry.size()}`); } /** * VĂ©rifie que tous les outils Batch 2 sont correctement enregistrĂ©s */ export function verifyGraphToolsBatch2() { const expectedTools = [ "delete_entities", "delete_observations", "delete_relations" ]; console.log("🔍 VĂ©rification des outils graph Batch 2..."); let allRegistered = true; for (const toolName of expectedTools) { if (toolRegistry.hasTool(toolName)) { console.log(`✅ ${toolName} est enregistrĂ©`); } else { console.log(`❌ ${toolName} n'est PAS enregistrĂ©`); allRegistered = false; } } if (allRegistered) { console.log("🎉 Tous les outils Batch 2 sont correctement enregistrĂ©s !"); } else { console.log("⚠ Certains outils Batch 2 ne sont pas enregistrĂ©s"); } return allRegistered; } /** * Test d'intĂ©gration des outils Batch 2 */ export async function testGraphToolsBatch2() { console.log("đŸ§Ș Test d'intĂ©gration des outils graph Batch 2..."); // PrĂ©parer des donnĂ©es de test const testEntity1 = "Test Entity for Batch 2 Delete"; const testEntity2 = "Test Entity B for Relations"; try { // CrĂ©er des entitĂ©s pour les tests console.log("PrĂ©paration: CrĂ©ation des entitĂ©s de test..."); await toolRegistry.execute("create_entities", { entities: [ { name: testEntity1, entityType: "Test", observations: ["Observation 1", "Observation 2", "Observation 3"] }, { name: testEntity2, entityType: "Test", observations: ["Entity B for relation tests"] } ] }); // CrĂ©er une relation pour le test delete_relations await toolRegistry.execute("create_relations", { relations: [{ from: testEntity1, to: testEntity2, relationType: "TEST_RELATION_BATCH2" }] }); console.log("✅ DonnĂ©es de test prĂ©parĂ©es"); } catch (error) { console.error("❌ Échec de la prĂ©paration des donnĂ©es de test:", error instanceof Error ? error.message : String(error)); return false; } // Test 1: delete_observations try { console.log("\nTest 1: delete_observations"); const result = await toolRegistry.execute("delete_observations", { deletions: [{ entityName: testEntity1, observations: ["Observation 2"] }] }); console.log("✅ delete_observations fonctionne:", result ? "Oui" : "Non"); } catch (error) { console.error("❌ delete_observations a Ă©chouĂ©:", error instanceof Error ? error.message : String(error)); return false; } // Test 2: delete_relations try { console.log("\nTest 2: delete_relations"); const result = await toolRegistry.execute("delete_relations", { relations: [{ from: testEntity1, to: testEntity2, relationType: "TEST_RELATION_BATCH2" }] }); console.log("✅ delete_relations fonctionne:", result ? "Oui" : "Non"); } catch (error) { console.error("❌ delete_relations a Ă©chouĂ©:", error instanceof Error ? error.message : String(error)); return false; } // Test 3: delete_entities try { console.log("\nTest 3: delete_entities"); const result = await toolRegistry.execute("delete_entities", { entityNames: [testEntity1, testEntity2] }); console.log("✅ delete_entities fonctionne:", result ? "Oui" : "Non"); } catch (error) { console.error("❌ delete_entities a Ă©chouĂ©:", error instanceof Error ? error.message : String(error)); return false; } console.log("\n🎉 Tous les tests d'intĂ©gration Batch 2 ont rĂ©ussi !"); return true; } /** * Fonction principale pour initialiser les outils graph Batch 2 */ export function initializeGraphToolsBatch2() { console.log("🚀 Initialisation des outils graph Batch 2..."); // Enregistrer les outils registerGraphToolsBatch2(); // VĂ©rifier l'enregistrement const registered = verifyGraphToolsBatch2(); if (registered) { console.log("✅ Initialisation Batch 2 terminĂ©e avec succĂšs"); console.log(`📊 Outils disponibles: ${toolRegistry.getToolNames().join(', ')}`); console.log(`📈 Total d'outils: ${toolRegistry.size()}`); } else { console.error("❌ Échec de l'initialisation Batch 2"); } } // ExĂ©cution automatique si ce fichier est exĂ©cutĂ© directement if (import.meta.url === `file://${process.argv[1]}`) { initializeGraphToolsBatch2(); // ExĂ©cuter les tests si demandĂ© if (process.argv.includes("--test")) { testGraphToolsBatch2().then(success => { if (success) { console.log("🎉 Tous les tests Batch 2 ont rĂ©ussi !"); process.exit(0); } else { console.error("❌ Certains tests Batch 2 ont Ă©chouĂ©"); process.exit(1); } }); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ali-48/rag-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server