### headless-chat SPIs

com.purui.prims.headless.chat.mapper.SchemaMapper=\
    com.purui.prims.headless.chat.mapper.KeywordMapper, \
    com.purui.prims.headless.chat.mapper.QueryFilterMapper, \
    com.purui.prims.headless.chat.mapper.EntityMapper

com.purui.prims.headless.chat.parser.SemanticParser=\
    com.purui.prims.headless.chat.parser.rule.RuleSqlParser, \
    com.purui.prims.headless.chat.parser.llm.LLMSqlParser, \
    com.purui.prims.headless.chat.parser.QueryTypeParser

com.purui.prims.headless.chat.corrector.SemanticCorrector=\
    com.purui.prims.headless.chat.corrector.SchemaCorrector, \
    com.purui.prims.headless.chat.corrector.TimeCorrector, \
    com.purui.prims.headless.chat.corrector.GrammarCorrector

com.purui.prims.headless.chat.knowledge.file.FileHandler=\
    com.purui.prims.headless.chat.knowledge.file.FileHandlerImpl

com.purui.prims.headless.chat.parser.llm.DataSetResolver=\
  com.purui.prims.headless.chat.parser.llm.HeuristicDataSetResolver


### headless-core SPIs

com.purui.prims.headless.core.translator.converter.QueryConverter=\
    com.purui.prims.headless.core.translator.converter.DefaultDimValueConverter,\
    com.purui.prims.headless.core.translator.converter.SqlVariableParseConverter,\
    com.purui.prims.headless.core.translator.converter.CalculateAggConverter,\
    com.purui.prims.headless.core.translator.converter.ParserDefaultConverter

com.purui.prims.headless.core.translator.QueryOptimizer=\
    com.purui.prims.headless.core.translator.DetailQueryOptimizer

com.purui.prims.headless.core.translator.QueryParser=\
    com.purui.prims.headless.core.translator.calcite.CalciteQueryParser

com.purui.prims.headless.core.executor.QueryExecutor=\
    com.purui.prims.headless.core.executor.JdbcExecutor

com.purui.prims.headless.core.executor.QueryAccelerator=\
    com.purui.prims.headless.core.executor.DorisAccelerator

com.purui.prims.headless.core.cache.QueryCache=\
    com.purui.prims.headless.core.cache.DefaultQueryCache


### headless-server SPIs

com.purui.prims.headless.server.processor.ResultProcessor=\
    com.purui.prims.headless.server.processor.ParseInfoProcessor, \
    com.purui.prims.headless.server.processor.SqlInfoProcessor


### chat-server SPIs

com.purui.prims.chat.server.parser.ChatParser=\
    com.purui.prims.chat.server.parser.NL2PluginParser, \
    com.purui.prims.chat.server.parser.MultiTurnParser,\
    com.purui.prims.chat.server.parser.NL2SQLParser

com.purui.prims.chat.server.executor.ChatExecutor=\
    com.purui.prims.chat.server.executor.PluginExecutor, \
    com.purui.prims.chat.server.executor.SqlExecutor

com.purui.prims.chat.server.plugin.recognize.PluginRecognizer=\
    com.purui.prims.chat.server.plugin.recognize.embedding.EmbeddingRecallRecognizer

com.purui.prims.chat.server.processor.parse.ParseResultProcessor=\
    com.purui.prims.chat.server.processor.parse.QueryRecommendProcessor,\
    com.purui.prims.chat.server.processor.parse.EntityInfoProcessor,\
    com.purui.prims.chat.server.processor.parse.TimeCostProcessor

com.purui.prims.chat.server.processor.execute.ExecuteResultProcessor=\
    com.purui.prims.chat.server.processor.execute.MetricRecommendProcessor,\
    com.purui.prims.chat.server.processor.execute.DimensionRecommendProcessor,\
    com.purui.prims.chat.server.processor.execute.MetricRatioProcessor

### auth-authentication SPIs

com.purui.prims.auth.authentication.interceptor.AuthenticationInterceptor=\
    com.purui.prims.auth.authentication.interceptor.DefaultAuthenticationInterceptor

com.purui.prims.auth.api.authentication.adaptor.UserAdaptor=\
    com.purui.prims.auth.authentication.adaptor.DefaultUserAdaptor


### common SPIs

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
    dev.langchain4j.spring.LangChain4jAutoConfig,\
    dev.langchain4j.openai.spring.AutoConfig,\
    dev.langchain4j.ollama.spring.AutoConfig,\
    dev.langchain4j.azure.openai.spring.AutoConfig,\
    dev.langchain4j.azure.aisearch.spring.AutoConfig,\
    dev.langchain4j.anthropic.spring.AutoConfig