import {VectorStore as VectorStoreType} from '@langchain/core/vectorstores'; import {BaseCheckpointSaver} from '@langchain/langgraph'; import {BindingKey} from '@loopback/context'; import {ITransport} from './transports/types'; import { AIIntegrationConfig, EmbeddingProvider, ICache, LLMProvider, ToolStore, } from './types'; import {ILimitStrategy} from './services/limit-strategies/types'; export namespace AiIntegrationBindings { export const Config = BindingKey.create( 'services.ai-reporting.config', ); export const SmartLLM = BindingKey.create( 'services.ai-reporting.smartLLMProvider', ); export const CheapLLM = BindingKey.create( 'services.ai-reporting.cheapLLMProvider', ); export const FileLLM = BindingKey.create( 'services.ai-reporting.fileLLMProvider', ); export const ChatLLM = BindingKey.create( 'services.ai-reporting.chatLLMProvider', ); export const SmartNonThinkingLLM = BindingKey.create( 'services.ai-reporting.smartNonThinkingLLMProvider', ); export const EmbeddingModel = BindingKey.create( 'services.ai-reporting.embeddingModel', ); export const Checkpointer = BindingKey.create( 'services.ai-reporting.checkpointer', ); export const Tools = BindingKey.create( 'services.ai-reporting.tool-store', ); export const Transport = BindingKey.create( 'services.ai-reporting.transport', ); export const VectorStore = BindingKey.create( 'services.ai-reporting.vector-store', ); export const Cache = BindingKey.create('services.ai-reporting.cache'); export const LimitStrategy = BindingKey.create( 'services.ai-reporting.limit-strategy', ); export const ObfHandler = BindingKey.create( 'services.ai-reporting.obf-handler', ); export const SystemContext = BindingKey.create( `services.ai-reporting.system-context`, ); } export const WriterDB = 'writerdb'; export const ReaderDB = 'readerdb';