import { AgentState } from "../config/agent-state"; import { BaseChatModel } from "@langchain/core/language_models/chat_models"; import { PROMPTS } from "../config/langchain-config"; import { FFBVectorService } from "../ffb-vector.service"; export const metaNode = async ( state: typeof AgentState.State, model: BaseChatModel, providerName: string = 'Unknown', vectorService?: FFBVectorService ): Promise> => { const lastMessage = state.messages[state.messages.length - 1].content as string; // Construct context from messages const context = state.messages.map(m => `${m._getType()}: ${m.content}`).join('\n'); let schemaContext = "Schema visualization unavailable."; if (vectorService) { schemaContext = await vectorService.getSchemaContext(); } const response = await model.invoke(PROMPTS.META(lastMessage, context, providerName, schemaContext)); return { messages: [response] }; };