Skip to main content
Glama
register-graph-tools.js‱5.93 kB
// src/tools/graph/register-graph-tools.ts // Enregistrement des outils graph dans le ToolRegistry import { toolRegistry } from "../../core/tool-registry.js"; import { addObservationsHandler, addObservationsTool } from "./add-observations.js"; import { createEntitiesHandler, createEntitiesTool } from "./create-entities.js"; import { createRelationsHandler, createRelationsTool } from "./create-relations.js"; /** * Enregistre tous les outils graph Batch 1 dans le ToolRegistry */ export function registerGraphToolsBatch1() { console.log("📝 Enregistrement des outils graph Batch 1..."); // Enregistrer create_entities try { toolRegistry.register(createEntitiesTool, createEntitiesHandler); console.log(`✅ Outil enregistrĂ©: ${createEntitiesTool.name}`); } catch (error) { console.error(`❌ Erreur lors de l'enregistrement de ${createEntitiesTool.name}:`, error); } // Enregistrer create_relations try { toolRegistry.register(createRelationsTool, createRelationsHandler); console.log(`✅ Outil enregistrĂ©: ${createRelationsTool.name}`); } catch (error) { console.error(`❌ Erreur lors de l'enregistrement de ${createRelationsTool.name}:`, error); } // Enregistrer add_observations try { toolRegistry.register(addObservationsTool, addObservationsHandler); console.log(`✅ Outil enregistrĂ©: ${addObservationsTool.name}`); } catch (error) { console.error(`❌ Erreur lors de l'enregistrement de ${addObservationsTool.name}:`, error); } console.log(`🎉 Batch 1 terminĂ©. Outils enregistrĂ©s: ${toolRegistry.size()}`); } /** * VĂ©rifie que tous les outils Batch 1 sont correctement enregistrĂ©s */ export function verifyGraphToolsBatch1() { const expectedTools = [ "create_entities", "create_relations", "add_observations" ]; console.log("🔍 VĂ©rification des outils graph Batch 1..."); 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 1 sont correctement enregistrĂ©s !"); } else { console.log("⚠ Certains outils Batch 1 ne sont pas enregistrĂ©s"); } return allRegistered; } /** * Test d'intĂ©gration des outils Batch 1 */ export async function testGraphToolsBatch1() { console.log("đŸ§Ș Test d'intĂ©gration des outils graph Batch 1..."); // CrĂ©er une entitĂ© de test try { console.log("Test 1: create_entities"); const createResult = await toolRegistry.execute("create_entities", { entities: [{ name: "Test Entity for Batch 1", entityType: "Test", observations: ["Created by Batch 1 integration test"] }] }); console.log("✅ create_entities fonctionne:", createResult ? "Oui" : "Non"); } catch (error) { console.error("❌ create_entities a Ă©chouĂ©:", error instanceof Error ? error.message : String(error)); return false; } // CrĂ©er une relation de test try { console.log("Test 2: create_relations"); const relationResult = await toolRegistry.execute("create_relations", { relations: [{ from: "Test Entity for Batch 1", to: "Another Entity", relationType: "TEST_RELATION" }] }); console.log("✅ create_relations fonctionne:", relationResult ? "Oui" : "Non"); } catch (error) { console.error("❌ create_relations a Ă©chouĂ©:", error instanceof Error ? error.message : String(error)); return false; } // Ajouter une observation de test try { console.log("Test 3: add_observations"); const observationResult = await toolRegistry.execute("add_observations", { observations: [{ entityName: "Test Entity for Batch 1", contents: ["Additional observation from integration test"] }] }); console.log("✅ add_observations fonctionne:", observationResult ? "Oui" : "Non"); } catch (error) { console.error("❌ add_observations a Ă©chouĂ©:", error instanceof Error ? error.message : String(error)); return false; } console.log("🎉 Tous les tests d'intĂ©gration Batch 1 ont rĂ©ussi !"); return true; } /** * Fonction principale pour initialiser les outils graph Batch 1 */ export function initializeGraphToolsBatch1() { console.log("🚀 Initialisation des outils graph Batch 1..."); // Enregistrer les outils registerGraphToolsBatch1(); // VĂ©rifier l'enregistrement const registered = verifyGraphToolsBatch1(); if (registered) { console.log("✅ Initialisation Batch 1 terminĂ©e avec succĂšs"); console.log(`📊 Outils disponibles: ${toolRegistry.getToolNames().join(', ')}`); } else { console.error("❌ Échec de l'initialisation Batch 1"); } } // ExĂ©cution automatique si ce fichier est exĂ©cutĂ© directement if (import.meta.url === `file://${process.argv[1]}`) { initializeGraphToolsBatch1(); // ExĂ©cuter les tests si demandĂ© if (process.argv.includes("--test")) { testGraphToolsBatch1().then(success => { if (success) { console.log("🎉 Tous les tests Batch 1 ont rĂ©ussi !"); process.exit(0); } else { console.error("❌ Certains tests Batch 1 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