diff --git a/assembly/bin/supersonic-build.sh b/assembly/bin/supersonic-build.sh
index 693d9d19a..70bfb0d92 100755
--- a/assembly/bin/supersonic-build.sh
+++ b/assembly/bin/supersonic-build.sh
@@ -19,7 +19,7 @@ if [ $? -ne 0 ]; then
fi
#2. move package to build
-cp $baseDir/../launchers/semantic/target/*.tar.gz ${buildDir}/supersonic-semantic.tar.gz
+cp $baseDir/../launchers/headless/target/*.tar.gz ${buildDir}/supersonic-headless.tar.gz
cp $baseDir/../launchers/chat/target/*.tar.gz ${buildDir}/supersonic-chat.tar.gz
cp $baseDir/../launchers/standalone/target/*.tar.gz ${buildDir}/supersonic-standalone.tar.gz
@@ -38,7 +38,7 @@ fi
cd $buildDir
tar xvf supersonic-webapp.tar.gz
mv supersonic-webapp webapp
-cp -fr webapp ../../launchers/semantic/target/classes
+cp -fr webapp ../../launchers/headless/target/classes
cp -fr webapp ../../launchers/chat/target/classes
cp -fr webapp ../../launchers/standalone/target/classes
rm -fr ${buildDir}/webapp
@@ -55,4 +55,4 @@ fi
rm -fr $runtimeDir/supersonic*
moveAllToRuntime
setEnvToWeb chat
-setEnvToWeb semantic
+setEnvToWeb headless
diff --git a/assembly/bin/supersonic-common.sh b/assembly/bin/supersonic-common.sh
index de20b2627..b2e80fc66 100755
--- a/assembly/bin/supersonic-common.sh
+++ b/assembly/bin/supersonic-common.sh
@@ -10,11 +10,11 @@ runtimeDir=$baseDir/../runtime
buildDir=$baseDir/build
readonly CHAT_APP_NAME="supersonic_chat"
-readonly SEMANTIC_APP_NAME="supersonic_semantic"
+readonly HEADLESS_APP_NAME="supersonic_headless"
readonly PYLLM_APP_NAME="supersonic_pyllm"
readonly STANDALONE_APP_NAME="supersonic_standalone"
readonly CHAT_SERVICE="chat"
-readonly SEMANTIC_SERVICE="semantic"
+readonly HEADLESS_SERVICE="headless"
readonly PYLLM_SERVICE="pyllm"
readonly STANDALONE_SERVICE="standalone"
readonly PYLLM_HOST="127.0.0.1"
@@ -46,7 +46,7 @@ function moveAllToRuntime {
mv ${buildDir}/supersonic-webapp ${buildDir}/webapp
moveToRuntime chat
- moveToRuntime semantic
+ moveToRuntime headless
moveToRuntime standalone
rm -fr ${buildDir}/webapp
}
diff --git a/assembly/bin/supersonic-daemon.sh b/assembly/bin/supersonic-daemon.sh
index 7dff8e3ab..6d05f0b27 100755
--- a/assembly/bin/supersonic-daemon.sh
+++ b/assembly/bin/supersonic-daemon.sh
@@ -33,8 +33,8 @@ cd $baseDir
function setMainClass {
if [ "$service" == $CHAT_SERVICE ]; then
main_class="com.tencent.supersonic.ChatLauncher"
- elif [ "$service" == $SEMANTIC_SERVICE ]; then
- main_class="com.tencent.supersonic.SemanticLauncher"
+ elif [ "$service" == $HEADLESS_SERVICE ]; then
+ main_class="com.tencent.supersonic.HeadlessLauncher"
fi
}
setMainClass
@@ -42,8 +42,8 @@ setMainClass
function setAppName {
if [ "$service" == $CHAT_SERVICE ]; then
app_name=$CHAT_APP_NAME
- elif [ "$service" == $SEMANTIC_SERVICE ]; then
- app_name=$SEMANTIC_APP_NAME
+ elif [ "$service" == $HEADLESS_SERVICE ]; then
+ app_name=$HEADLESS_APP_NAME
elif [ "$service" == $PYLLM_SERVICE ]; then
app_name=$PYLLM_APP_NAME
fi
diff --git a/chat/api/pom.xml b/chat/api/pom.xml
index 75ec2ac4d..90a96f0bb 100644
--- a/chat/api/pom.xml
+++ b/chat/api/pom.xml
@@ -23,7 +23,7 @@
com.tencent.supersonic
- semantic-api
+ headless-api
${project.version}
compile
diff --git a/chat/api/src/main/java/com/tencent/supersonic/chat/api/component/SemanticInterpreter.java b/chat/api/src/main/java/com/tencent/supersonic/chat/api/component/SemanticInterpreter.java
index 8105cb560..f48cc3024 100644
--- a/chat/api/src/main/java/com/tencent/supersonic/chat/api/component/SemanticInterpreter.java
+++ b/chat/api/src/main/java/com/tencent/supersonic/chat/api/component/SemanticInterpreter.java
@@ -4,20 +4,20 @@ import com.github.pagehelper.PageInfo;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.chat.api.pojo.ModelSchema;
import com.tencent.supersonic.common.pojo.enums.AuthType;
-import com.tencent.supersonic.semantic.api.model.request.PageDimensionReq;
-import com.tencent.supersonic.semantic.api.model.request.PageMetricReq;
-import com.tencent.supersonic.semantic.api.model.response.DomainResp;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.ExplainResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.ExplainSqlReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryDimValueReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
+import com.tencent.supersonic.headless.api.model.request.PageMetricReq;
+import com.tencent.supersonic.headless.api.model.response.DomainResp;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.response.ExplainResp;
+import com.tencent.supersonic.headless.api.model.response.MetricResp;
+import com.tencent.supersonic.headless.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.api.query.request.QueryDimValueReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import java.util.List;
diff --git a/chat/core/pom.xml b/chat/core/pom.xml
index 24806171f..dd50ad2b0 100644
--- a/chat/core/pom.xml
+++ b/chat/core/pom.xml
@@ -77,12 +77,12 @@
com.tencent.supersonic
- semantic-api
+ headless-api
${project.version}
com.tencent.supersonic
- semantic-query
+ headless-query
${project.version}
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/config/EntityInternalDetail.java b/chat/core/src/main/java/com/tencent/supersonic/chat/config/EntityInternalDetail.java
index 0c2935a36..f657d69c0 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/config/EntityInternalDetail.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/config/EntityInternalDetail.java
@@ -1,8 +1,8 @@
package com.tencent.supersonic.chat.config;
-import com.tencent.supersonic.semantic.api.model.response.DimSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.DimSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.MetricSchemaResp;
import java.util.List;
import lombok.Data;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/EmbeddingMatchStrategy.java b/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/EmbeddingMatchStrategy.java
index c77af9cb8..604623ce8 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/EmbeddingMatchStrategy.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/EmbeddingMatchStrategy.java
@@ -10,7 +10,7 @@ import com.tencent.supersonic.common.util.embedding.RetrieveQuery;
import com.tencent.supersonic.common.util.embedding.RetrieveQueryResult;
import com.tencent.supersonic.common.util.embedding.S2EmbeddingStore;
import com.tencent.supersonic.knowledge.dictionary.EmbeddingResult;
-import com.tencent.supersonic.semantic.model.domain.listener.MetaEmbeddingListener;
+import com.tencent.supersonic.headless.model.domain.listener.MetaEmbeddingListener;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/ModelWithSemanticType.java b/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/ModelWithSemanticType.java
index b22c573ef..5499fe2e9 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/ModelWithSemanticType.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/mapper/ModelWithSemanticType.java
@@ -10,10 +10,10 @@ import lombok.ToString;
public class ModelWithSemanticType implements Serializable {
private Long model;
- private SchemaElementType semanticType;
+ private SchemaElementType schemaElementType;
- public ModelWithSemanticType(Long model, SchemaElementType semanticType) {
+ public ModelWithSemanticType(Long model, SchemaElementType schemaElementType) {
this.model = model;
- this.semanticType = semanticType;
+ this.schemaElementType = schemaElementType;
}
}
\ No newline at end of file
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/LLMRequestService.java b/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/LLMRequestService.java
index 9388184a8..8fe74b4bb 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/LLMRequestService.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/parser/sql/llm/LLMRequestService.java
@@ -23,8 +23,8 @@ import com.tencent.supersonic.common.pojo.enums.DataFormatTypeEnum;
import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum;
import com.tencent.supersonic.common.util.DateUtils;
import com.tencent.supersonic.knowledge.service.SchemaService;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashSet;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/processor/execute/MetricRecommendProcessor.java b/chat/core/src/main/java/com/tencent/supersonic/chat/processor/execute/MetricRecommendProcessor.java
index 4a47a8373..126c4941e 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/processor/execute/MetricRecommendProcessor.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/processor/execute/MetricRecommendProcessor.java
@@ -12,7 +12,7 @@ import com.tencent.supersonic.common.util.embedding.Retrieval;
import com.tencent.supersonic.common.util.embedding.RetrieveQuery;
import com.tencent.supersonic.common.util.embedding.RetrieveQueryResult;
import com.tencent.supersonic.common.util.embedding.S2EmbeddingStore;
-import com.tencent.supersonic.semantic.model.domain.listener.MetaEmbeddingListener;
+import com.tencent.supersonic.headless.model.domain.listener.MetaEmbeddingListener;
import org.springframework.util.CollectionUtils;
import java.util.Collections;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/BaseSemanticQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/BaseSemanticQuery.java
index e384dd62c..4289de603 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/BaseSemanticQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/BaseSemanticQuery.java
@@ -15,11 +15,11 @@ import com.tencent.supersonic.common.pojo.Order;
import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.knowledge.service.SchemaService;
-import com.tencent.supersonic.semantic.api.model.enums.QueryTypeEnum;
-import com.tencent.supersonic.semantic.api.model.response.ExplainResp;
-import com.tencent.supersonic.semantic.api.query.request.ExplainSqlReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.enums.QueryTypeEnum;
+import com.tencent.supersonic.headless.api.model.response.ExplainResp;
+import com.tencent.supersonic.headless.api.query.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/analytics/MetricAnalyzeQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/analytics/MetricAnalyzeQuery.java
index 3e43cf6b1..14a42d09d 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/analytics/MetricAnalyzeQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/analytics/MetricAnalyzeQuery.java
@@ -18,8 +18,8 @@ import com.tencent.supersonic.common.pojo.QueryColumn;
import com.tencent.supersonic.common.pojo.enums.QueryType;
import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum;
import com.tencent.supersonic.common.util.ContextUtils;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/s2sql/LLMSqlQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/s2sql/LLMSqlQuery.java
index 29f98a119..9fbd5384a 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/s2sql/LLMSqlQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/llm/s2sql/LLMSqlQuery.java
@@ -10,8 +10,8 @@ import com.tencent.supersonic.chat.query.llm.LLMSemanticQuery;
import com.tencent.supersonic.chat.utils.ComponentFactory;
import com.tencent.supersonic.chat.utils.QueryReqBuilder;
import com.tencent.supersonic.common.pojo.QueryColumn;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/RuleSemanticQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/RuleSemanticQuery.java
index 55b4a32d4..71bc11652 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/RuleSemanticQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/RuleSemanticQuery.java
@@ -23,9 +23,9 @@ import com.tencent.supersonic.common.pojo.ModelCluster;
import com.tencent.supersonic.common.pojo.QueryColumn;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.util.ContextUtils;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricFilterQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricFilterQuery.java
index 00e050441..00ad5da24 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricFilterQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricFilterQuery.java
@@ -9,8 +9,8 @@ import com.tencent.supersonic.chat.api.pojo.response.QueryResult;
import com.tencent.supersonic.common.pojo.enums.FilterType;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.pojo.Filter;
-import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricSemanticQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricSemanticQuery.java
index 82ccd163c..53dc5eda4 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricSemanticQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricSemanticQuery.java
@@ -1,5 +1,9 @@
package com.tencent.supersonic.chat.query.rule.metric;
+import static com.tencent.supersonic.chat.api.pojo.SchemaElementType.METRIC;
+import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.OptionType.REQUIRED;
+import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.RequireNumberType.AT_LEAST;
+
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.chat.api.pojo.ChatContext;
import com.tencent.supersonic.chat.api.pojo.QueryContext;
@@ -14,16 +18,11 @@ import com.tencent.supersonic.chat.service.ConfigService;
import com.tencent.supersonic.chat.service.SemanticService;
import com.tencent.supersonic.common.pojo.DateConf;
import com.tencent.supersonic.common.util.ContextUtils;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import lombok.extern.slf4j.Slf4j;
-
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
import java.time.LocalDate;
import java.util.List;
import java.util.Objects;
-
-import static com.tencent.supersonic.chat.api.pojo.SchemaElementType.METRIC;
-import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.OptionType.REQUIRED;
-import static com.tencent.supersonic.chat.query.rule.QueryMatchOption.RequireNumberType.AT_LEAST;
+import lombok.extern.slf4j.Slf4j;
@Slf4j
public abstract class MetricSemanticQuery extends RuleSemanticQuery {
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricTagQuery.java b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricTagQuery.java
index ff84baa36..9b27eaa56 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricTagQuery.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/query/rule/metric/MetricTagQuery.java
@@ -10,8 +10,8 @@ import com.tencent.supersonic.chat.api.pojo.response.QueryResult;
import com.tencent.supersonic.common.pojo.Filter;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.FilterType;
-import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/rest/ChatConfigController.java b/chat/core/src/main/java/com/tencent/supersonic/chat/rest/ChatConfigController.java
index 8bfe52b05..8492050a1 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/rest/ChatConfigController.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/rest/ChatConfigController.java
@@ -12,12 +12,12 @@ import com.tencent.supersonic.chat.api.pojo.response.ChatConfigRichResp;
import com.tencent.supersonic.chat.service.ConfigService;
import com.tencent.supersonic.chat.utils.ComponentFactory;
import com.tencent.supersonic.common.pojo.enums.AuthType;
-import com.tencent.supersonic.semantic.api.model.request.PageDimensionReq;
-import com.tencent.supersonic.semantic.api.model.request.PageMetricReq;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.DomainResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
+import com.tencent.supersonic.headless.api.model.request.PageMetricReq;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.response.DomainResp;
+import com.tencent.supersonic.headless.api.model.response.MetricResp;
+import com.tencent.supersonic.headless.api.model.response.ModelResp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/SemanticService.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/SemanticService.java
index e682ab145..977d1c642 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/SemanticService.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/SemanticService.java
@@ -1,6 +1,16 @@
package com.tencent.supersonic.chat.service;
+import static com.tencent.supersonic.common.pojo.Constants.DAY;
+import static com.tencent.supersonic.common.pojo.Constants.DAY_FORMAT;
+import static com.tencent.supersonic.common.pojo.Constants.DAY_FORMAT_INT;
+import static com.tencent.supersonic.common.pojo.Constants.MONTH;
+import static com.tencent.supersonic.common.pojo.Constants.MONTH_FORMAT;
+import static com.tencent.supersonic.common.pojo.Constants.MONTH_FORMAT_INT;
+import static com.tencent.supersonic.common.pojo.Constants.TIMES_FORMAT;
+import static com.tencent.supersonic.common.pojo.Constants.TIME_FORMAT;
+import static com.tencent.supersonic.common.pojo.Constants.WEEK;
+
import com.google.common.collect.Sets;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.chat.api.component.SemanticInterpreter;
@@ -25,22 +35,15 @@ import com.tencent.supersonic.common.pojo.DateConf;
import com.tencent.supersonic.common.pojo.DateConf.DateMode;
import com.tencent.supersonic.common.pojo.ModelCluster;
import com.tencent.supersonic.common.pojo.QueryColumn;
-import com.tencent.supersonic.common.pojo.enums.QueryType;
import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
+import com.tencent.supersonic.common.pojo.enums.QueryType;
import com.tencent.supersonic.common.pojo.enums.RatioOverType;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.DateUtils;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import com.tencent.supersonic.knowledge.service.SchemaService;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-
import java.text.DecimalFormat;
import java.time.DayOfWeek;
import java.time.LocalDate;
@@ -60,16 +63,12 @@ import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
-
-import static com.tencent.supersonic.common.pojo.Constants.DAY;
-import static com.tencent.supersonic.common.pojo.Constants.DAY_FORMAT;
-import static com.tencent.supersonic.common.pojo.Constants.DAY_FORMAT_INT;
-import static com.tencent.supersonic.common.pojo.Constants.MONTH;
-import static com.tencent.supersonic.common.pojo.Constants.MONTH_FORMAT;
-import static com.tencent.supersonic.common.pojo.Constants.MONTH_FORMAT_INT;
-import static com.tencent.supersonic.common.pojo.Constants.TIMES_FORMAT;
-import static com.tencent.supersonic.common.pojo.Constants.TIME_FORMAT;
-import static com.tencent.supersonic.common.pojo.Constants.WEEK;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
@Service
@Slf4j
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/ConfigServiceImpl.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/ConfigServiceImpl.java
index a84801e50..a3bae8e64 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/ConfigServiceImpl.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/ConfigServiceImpl.java
@@ -31,12 +31,12 @@ import com.tencent.supersonic.chat.utils.ChatConfigHelper;
import com.tencent.supersonic.chat.utils.ComponentFactory;
import com.tencent.supersonic.chat.utils.VisibilityEvent;
import com.tencent.supersonic.common.util.JsonUtil;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.model.domain.DimensionService;
-import com.tencent.supersonic.semantic.model.domain.MetricService;
-import com.tencent.supersonic.semantic.model.domain.pojo.MetaFilter;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.response.MetricResp;
+import com.tencent.supersonic.headless.model.domain.DimensionService;
+import com.tencent.supersonic.headless.model.domain.MetricService;
+import com.tencent.supersonic.headless.model.domain.pojo.MetaFilter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/PluginServiceImpl.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/PluginServiceImpl.java
index af897ed1a..4ffd0cb85 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/PluginServiceImpl.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/PluginServiceImpl.java
@@ -16,7 +16,7 @@ import com.tencent.supersonic.chat.service.PluginService;
import com.tencent.supersonic.chat.utils.ComponentFactory;
import com.tencent.supersonic.common.pojo.enums.AuthType;
import com.tencent.supersonic.common.util.JsonUtil;
-import com.tencent.supersonic.semantic.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.response.ModelResp;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java
index 7a01fc136..acdc5b176 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/QueryServiceImpl.java
@@ -3,8 +3,8 @@ package com.tencent.supersonic.chat.service.impl;
import com.hankcs.hanlp.seg.common.Term;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
-import com.tencent.supersonic.chat.api.component.SchemaMapper;
import com.tencent.supersonic.chat.api.component.SemanticCorrector;
+import com.tencent.supersonic.chat.api.component.SchemaMapper;
import com.tencent.supersonic.chat.api.component.SemanticInterpreter;
import com.tencent.supersonic.chat.api.component.SemanticParser;
import com.tencent.supersonic.chat.api.component.SemanticQuery;
@@ -34,8 +34,8 @@ import com.tencent.supersonic.chat.query.QueryManager;
import com.tencent.supersonic.chat.query.llm.s2sql.LLMSqlQuery;
import com.tencent.supersonic.chat.query.rule.RuleSemanticQuery;
import com.tencent.supersonic.chat.service.ChatService;
-import com.tencent.supersonic.chat.service.QueryService;
import com.tencent.supersonic.chat.service.SemanticService;
+import com.tencent.supersonic.chat.service.QueryService;
import com.tencent.supersonic.chat.service.StatisticsService;
import com.tencent.supersonic.chat.service.TimeCost;
import com.tencent.supersonic.chat.utils.ComponentFactory;
@@ -59,8 +59,8 @@ import com.tencent.supersonic.knowledge.dictionary.MultiCustomDictionary;
import com.tencent.supersonic.knowledge.service.SearchService;
import com.tencent.supersonic.knowledge.utils.HanlpHelper;
import com.tencent.supersonic.knowledge.utils.NatureHelper;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.LongValue;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/SearchServiceImpl.java b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/SearchServiceImpl.java
index 60e1a3b64..929f387e3 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/SearchServiceImpl.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/service/impl/SearchServiceImpl.java
@@ -320,13 +320,13 @@ public class SearchServiceImpl implements SearchService {
for (ModelWithSemanticType modelWithSemanticType : dimensionMetricClassIds) {
existMetric = true;
Long modelId = modelWithSemanticType.getModel();
- SchemaElementType semanticType = modelWithSemanticType.getSemanticType();
+ SchemaElementType schemaElementType = modelWithSemanticType.getSchemaElementType();
SearchResult searchResult = SearchResult.builder()
.modelId(modelId)
.modelName(modelToName.get(modelId))
.recommend(matchText.getRegText() + hanlpMapResult.getName())
.subRecommend(hanlpMapResult.getName())
- .schemaElementType(semanticType)
+ .schemaElementType(schemaElementType)
.build();
//visibility to filter metrics
ItemNameVisibilityInfo visibility = (ItemNameVisibilityInfo) caffeineCache.getIfPresent(modelId);
@@ -347,8 +347,8 @@ public class SearchServiceImpl implements SearchService {
}
private boolean matchCondition(ModelWithSemanticType entry, Set possibleModels) {
- if (!(SchemaElementType.METRIC.equals(entry.getSemanticType()) || SchemaElementType.DIMENSION.equals(
- entry.getSemanticType()))) {
+ if (!(SchemaElementType.METRIC.equals(entry.getSchemaElementType()) || SchemaElementType.DIMENSION.equals(
+ entry.getSchemaElementType()))) {
return false;
}
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/ComponentFactory.java b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/ComponentFactory.java
index bd6b5f3d0..30d0972dd 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/ComponentFactory.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/ComponentFactory.java
@@ -1,8 +1,8 @@
package com.tencent.supersonic.chat.utils;
-import com.tencent.supersonic.chat.api.component.SchemaMapper;
import com.tencent.supersonic.chat.api.component.SemanticCorrector;
import com.tencent.supersonic.chat.api.component.SemanticInterpreter;
+import com.tencent.supersonic.chat.api.component.SchemaMapper;
import com.tencent.supersonic.chat.api.component.SemanticParser;
import com.tencent.supersonic.chat.parser.JavaLLMProxy;
import com.tencent.supersonic.chat.parser.LLMProxy;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java
index ba1bbad19..d33773214 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictMetaHelper.java
@@ -14,8 +14,8 @@ import com.tencent.supersonic.chat.persistence.dataobject.DimValueDO;
import com.tencent.supersonic.chat.service.ConfigService;
import com.tencent.supersonic.knowledge.dictionary.DictUpdateMode;
import com.tencent.supersonic.knowledge.dictionary.DimValue2DictCommand;
-import com.tencent.supersonic.semantic.api.model.request.PageDimensionReq;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java
index 155dde2dc..ea7af203a 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/DictQueryHelper.java
@@ -18,8 +18,8 @@ import com.tencent.supersonic.common.pojo.Order;
import com.tencent.supersonic.common.pojo.QueryColumn;
import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.FilterOperatorEnum;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/QueryReqBuilder.java b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/QueryReqBuilder.java
index e808dfcc2..dae4e6d0d 100644
--- a/chat/core/src/main/java/com/tencent/supersonic/chat/utils/QueryReqBuilder.java
+++ b/chat/core/src/main/java/com/tencent/supersonic/chat/utils/QueryReqBuilder.java
@@ -13,9 +13,9 @@ import com.tencent.supersonic.common.pojo.enums.QueryType;
import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum;
import com.tencent.supersonic.common.pojo.enums.AggregateTypeEnum;
import com.tencent.supersonic.common.pojo.enums.TimeDimensionEnum;
-import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
diff --git a/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/ContextTest.java b/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/ContextTest.java
index d4562f3fa..e0b5a89d1 100644
--- a/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/ContextTest.java
+++ b/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/ContextTest.java
@@ -5,10 +5,10 @@ import com.tencent.supersonic.chat.utils.ComponentFactory;
import com.tencent.supersonic.chat.persistence.mapper.ChatContextMapper;
import com.tencent.supersonic.knowledge.semantic.RemoteSemanticInterpreter;
import com.tencent.supersonic.chat.test.ChatBizLauncher;
-import com.tencent.supersonic.semantic.model.domain.DimensionService;
-import com.tencent.supersonic.semantic.model.domain.MetricService;
-import com.tencent.supersonic.semantic.model.domain.ModelService;
-import com.tencent.supersonic.semantic.query.service.QueryService;
+import com.tencent.supersonic.headless.model.domain.DimensionService;
+import com.tencent.supersonic.headless.model.domain.MetricService;
+import com.tencent.supersonic.headless.model.domain.ModelService;
+import com.tencent.supersonic.headless.query.service.QueryService;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/MockBeansConfiguration.java b/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/MockBeansConfiguration.java
index aa9f28e5c..ecc263b7b 100644
--- a/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/MockBeansConfiguration.java
+++ b/chat/core/src/test/java/com/tencent/supersonic/chat/test/context/MockBeansConfiguration.java
@@ -1,5 +1,9 @@
package com.tencent.supersonic.chat.test.context;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Mockito.when;
+
import com.tencent.supersonic.chat.api.pojo.ChatContext;
import com.tencent.supersonic.chat.api.pojo.response.ChatConfigResp;
import com.tencent.supersonic.chat.config.DefaultMetric;
@@ -11,29 +15,24 @@ import com.tencent.supersonic.chat.service.ChatService;
import com.tencent.supersonic.chat.service.QueryService;
import com.tencent.supersonic.chat.service.impl.ConfigServiceImpl;
import com.tencent.supersonic.common.pojo.Constants;
-import com.tencent.supersonic.semantic.api.model.response.DimSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
-import com.tencent.supersonic.semantic.model.domain.DimensionService;
-import com.tencent.supersonic.semantic.model.domain.MetricService;
-import com.tencent.supersonic.semantic.model.domain.ModelService;
-import com.tencent.supersonic.semantic.model.domain.pojo.DimensionFilter;
-import com.tencent.supersonic.semantic.model.domain.pojo.MetaFilter;
+import com.tencent.supersonic.headless.api.model.response.DimSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.response.MetricResp;
+import com.tencent.supersonic.headless.api.model.response.MetricSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.model.domain.DimensionService;
+import com.tencent.supersonic.headless.model.domain.MetricService;
+import com.tencent.supersonic.headless.model.domain.ModelService;
+import com.tencent.supersonic.headless.model.domain.pojo.DimensionFilter;
+import com.tencent.supersonic.headless.model.domain.pojo.MetaFilter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
import org.mockito.Mockito;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyLong;
-import static org.mockito.Mockito.when;
-
@Configuration
public class MockBeansConfiguration {
diff --git a/chat/core/src/test/java/com/tencent/supersonic/chat/utils/QueryReqBuilderTest.java b/chat/core/src/test/java/com/tencent/supersonic/chat/utils/QueryReqBuilderTest.java
index dec5542db..33bad357b 100644
--- a/chat/core/src/test/java/com/tencent/supersonic/chat/utils/QueryReqBuilderTest.java
+++ b/chat/core/src/test/java/com/tencent/supersonic/chat/utils/QueryReqBuilderTest.java
@@ -10,8 +10,8 @@ import com.tencent.supersonic.common.pojo.enums.AggOperatorEnum;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.DateModeUtils;
import com.tencent.supersonic.common.util.SqlFilterUtils;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
diff --git a/chat/knowledge/pom.xml b/chat/knowledge/pom.xml
index 8bbf7f17b..081ef2f6f 100644
--- a/chat/knowledge/pom.xml
+++ b/chat/knowledge/pom.xml
@@ -100,7 +100,7 @@
com.tencent.supersonic
- semantic-query
+ headless-query
${project.version}
compile
diff --git a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/BaseSemanticInterpreter.java b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/BaseSemanticInterpreter.java
index b1d0b8221..aa8a05b13 100644
--- a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/BaseSemanticInterpreter.java
+++ b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/BaseSemanticInterpreter.java
@@ -4,7 +4,7 @@ import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.tencent.supersonic.chat.api.component.SemanticInterpreter;
import com.tencent.supersonic.chat.api.pojo.ModelSchema;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
diff --git a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/LocalSemanticInterpreter.java b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/LocalSemanticInterpreter.java
index 386a0c14d..9ac0ae9e7 100644
--- a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/LocalSemanticInterpreter.java
+++ b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/LocalSemanticInterpreter.java
@@ -5,25 +5,25 @@ import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.common.pojo.enums.AuthType;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.JsonUtil;
-import com.tencent.supersonic.semantic.api.model.request.ModelSchemaFilterReq;
-import com.tencent.supersonic.semantic.api.model.request.PageDimensionReq;
-import com.tencent.supersonic.semantic.api.model.request.PageMetricReq;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.DomainResp;
-import com.tencent.supersonic.semantic.api.model.response.ExplainResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.ExplainSqlReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryDimValueReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
-import com.tencent.supersonic.semantic.model.domain.DimensionService;
-import com.tencent.supersonic.semantic.model.domain.MetricService;
-import com.tencent.supersonic.semantic.query.service.QueryService;
-import com.tencent.supersonic.semantic.query.service.SchemaService;
+import com.tencent.supersonic.headless.api.model.request.ModelSchemaFilterReq;
+import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
+import com.tencent.supersonic.headless.api.model.request.PageMetricReq;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.response.DomainResp;
+import com.tencent.supersonic.headless.api.model.response.ExplainResp;
+import com.tencent.supersonic.headless.api.model.response.MetricResp;
+import com.tencent.supersonic.headless.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.api.query.request.QueryDimValueReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.model.domain.DimensionService;
+import com.tencent.supersonic.headless.model.domain.MetricService;
+import com.tencent.supersonic.headless.query.service.QueryService;
+import com.tencent.supersonic.headless.query.service.SchemaService;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
diff --git a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/ModelSchemaBuilder.java b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/ModelSchemaBuilder.java
index 1fb5cc6c0..5316dbfc3 100644
--- a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/ModelSchemaBuilder.java
+++ b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/ModelSchemaBuilder.java
@@ -6,12 +6,12 @@ import com.tencent.supersonic.chat.api.pojo.RelatedSchemaElement;
import com.tencent.supersonic.chat.api.pojo.SchemaElement;
import com.tencent.supersonic.chat.api.pojo.SchemaElementType;
import com.tencent.supersonic.chat.api.pojo.SchemaValueMap;
-import com.tencent.supersonic.semantic.api.model.pojo.DimValueMap;
-import com.tencent.supersonic.semantic.api.model.pojo.RelateDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
-import com.tencent.supersonic.semantic.api.model.response.DimSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.pojo.DimValueMap;
+import com.tencent.supersonic.headless.api.model.pojo.RelateDimension;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.response.DimSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.MetricSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;
diff --git a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/RemoteSemanticInterpreter.java b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/RemoteSemanticInterpreter.java
index 3434e61b5..ec6336264 100644
--- a/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/RemoteSemanticInterpreter.java
+++ b/chat/knowledge/src/main/java/com/tencent/supersonic/knowledge/semantic/RemoteSemanticInterpreter.java
@@ -1,5 +1,10 @@
package com.tencent.supersonic.knowledge.semantic;
+import static com.tencent.supersonic.common.pojo.Constants.LIST_LOWER;
+import static com.tencent.supersonic.common.pojo.Constants.PAGESIZE_LOWER;
+import static com.tencent.supersonic.common.pojo.Constants.TOTAL_LOWER;
+import static com.tencent.supersonic.common.pojo.Constants.TRUE_LOWER;
+
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import com.google.gson.Gson;
@@ -7,28 +12,34 @@ import com.tencent.supersonic.auth.api.authentication.config.AuthenticationConfi
import com.tencent.supersonic.auth.api.authentication.constant.UserConstants;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.common.pojo.ResultData;
-import com.tencent.supersonic.common.pojo.enums.ReturnCode;
import com.tencent.supersonic.common.pojo.enums.AuthType;
+import com.tencent.supersonic.common.pojo.enums.ReturnCode;
import com.tencent.supersonic.common.pojo.exception.CommonException;
import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.JsonUtil;
import com.tencent.supersonic.common.util.S2ThreadContext;
import com.tencent.supersonic.common.util.ThreadContext;
-import com.tencent.supersonic.semantic.api.model.request.ModelSchemaFilterReq;
-import com.tencent.supersonic.semantic.api.model.request.PageDimensionReq;
-import com.tencent.supersonic.semantic.api.model.request.PageMetricReq;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.api.model.response.DomainResp;
-import com.tencent.supersonic.semantic.api.model.response.ExplainResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.QueryResultWithSchemaResp;
-import com.tencent.supersonic.semantic.api.query.request.ExplainSqlReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryDimValueReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryMultiStructReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryS2SQLReq;
-import com.tencent.supersonic.semantic.api.query.request.QueryStructReq;
+import com.tencent.supersonic.headless.api.model.request.ModelSchemaFilterReq;
+import com.tencent.supersonic.headless.api.model.request.PageDimensionReq;
+import com.tencent.supersonic.headless.api.model.request.PageMetricReq;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.api.model.response.DomainResp;
+import com.tencent.supersonic.headless.api.model.response.ExplainResp;
+import com.tencent.supersonic.headless.api.model.response.MetricResp;
+import com.tencent.supersonic.headless.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.QueryResultWithSchemaResp;
+import com.tencent.supersonic.headless.api.query.request.ExplainSqlReq;
+import com.tencent.supersonic.headless.api.query.request.QueryDimValueReq;
+import com.tencent.supersonic.headless.api.query.request.QueryMultiStructReq;
+import com.tencent.supersonic.headless.api.query.request.QueryS2SQLReq;
+import com.tencent.supersonic.headless.api.query.request.QueryStructReq;
+import java.net.URI;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Objects;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
@@ -42,18 +53,6 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
-import java.net.URI;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Objects;
-
-import static com.tencent.supersonic.common.pojo.Constants.LIST_LOWER;
-import static com.tencent.supersonic.common.pojo.Constants.PAGESIZE_LOWER;
-import static com.tencent.supersonic.common.pojo.Constants.TOTAL_LOWER;
-import static com.tencent.supersonic.common.pojo.Constants.TRUE_LOWER;
-
@Slf4j
public class RemoteSemanticInterpreter extends BaseSemanticInterpreter {
@@ -115,17 +114,17 @@ public class RemoteSemanticInterpreter extends BaseSemanticInterpreter {
requestUrl, HttpMethod.POST, entity, structTypeRef);
responseBody = responseEntity.getBody();
log.info("ApiResponse responseBody:{}", responseBody);
- QueryResultWithSchemaResp semanticQuery = new QueryResultWithSchemaResp();
+ QueryResultWithSchemaResp schemaResp = new QueryResultWithSchemaResp();
if (ReturnCode.SUCCESS.getCode() == responseBody.getCode()) {
QueryResultWithSchemaResp data = responseBody.getData();
- semanticQuery.setColumns(data.getColumns());
- semanticQuery.setResultList(data.getResultList());
- semanticQuery.setSql(data.getSql());
- semanticQuery.setQueryAuthorization(data.getQueryAuthorization());
- return semanticQuery;
+ schemaResp.setColumns(data.getColumns());
+ schemaResp.setResultList(data.getResultList());
+ schemaResp.setSql(data.getSql());
+ schemaResp.setQueryAuthorization(data.getQueryAuthorization());
+ return schemaResp;
}
} catch (Exception e) {
- throw new RuntimeException("search semantic interface error,url:" + url, e);
+ throw new RuntimeException("search headless interface error,url:" + url, e);
}
throw new CommonException(responseBody.getCode(), responseBody.getMsg());
}
diff --git a/semantic/api/pom.xml b/headless/api/pom.xml
similarity index 96%
rename from semantic/api/pom.xml
rename to headless/api/pom.xml
index f00176620..386ec4067 100644
--- a/semantic/api/pom.xml
+++ b/headless/api/pom.xml
@@ -4,12 +4,12 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
com.tencent.supersonic
- semantic
+ headless
${revision}
4.0.0
- semantic-api
+ headless-api
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementFrequencyEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementFrequencyEnum.java
similarity index 53%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementFrequencyEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementFrequencyEnum.java
index 3e89b1732..de4764734 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementFrequencyEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementFrequencyEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.enums;
+package com.tencent.supersonic.headless.api.materialization.enums;
public enum ElementFrequencyEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementTypeEnum.java
similarity index 61%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementTypeEnum.java
index b07d90524..b2b9ef8bd 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/ElementTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/ElementTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.enums;
+package com.tencent.supersonic.headless.api.materialization.enums;
public enum ElementTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/UpdateCycleEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/UpdateCycleEnum.java
similarity index 50%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/UpdateCycleEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/UpdateCycleEnum.java
index 254be941b..4d9385fd6 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/enums/UpdateCycleEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/enums/UpdateCycleEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.enums;
+package com.tencent.supersonic.headless.api.materialization.enums;
public enum UpdateCycleEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationConfFilter.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationConfFilter.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationConfFilter.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationConfFilter.java
index 62508f6f8..e8bbfe2cf 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationConfFilter.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationConfFilter.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.pojo;
+package com.tencent.supersonic.headless.api.materialization.pojo;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationDateFilter.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationDateFilter.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationDateFilter.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationDateFilter.java
index 3608bb8ff..64e8c5e68 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationDateFilter.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationDateFilter.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.pojo;
+package com.tencent.supersonic.headless.api.materialization.pojo;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationFilter.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationFilter.java
similarity index 73%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationFilter.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationFilter.java
index 04c0c55ac..836edfdcc 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationFilter.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationFilter.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.materialization.pojo;
+package com.tencent.supersonic.headless.api.materialization.pojo;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationRecordFilter.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationRecordFilter.java
similarity index 91%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationRecordFilter.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationRecordFilter.java
index de5286d3e..cd248dccc 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/pojo/MaterializationRecordFilter.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/pojo/MaterializationRecordFilter.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.pojo;
+package com.tencent.supersonic.headless.api.materialization.pojo;
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationElementReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationElementReq.java
similarity index 77%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationElementReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationElementReq.java
index 8faedd9f2..75c6b0ef6 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationElementReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationElementReq.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.semantic.api.materialization.request;
+package com.tencent.supersonic.headless.api.materialization.request;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
import lombok.Builder;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationRecordReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationRecordReq.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationRecordReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationRecordReq.java
index cf1ccf54e..d052ab8e3 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationRecordReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationRecordReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.request;
+package com.tencent.supersonic.headless.api.materialization.request;
import com.tencent.supersonic.common.pojo.RecordInfo;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationReq.java
similarity index 77%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationReq.java
index c5cbf6ca3..c63c9ba83 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationReq.java
@@ -1,9 +1,9 @@
-package com.tencent.supersonic.semantic.api.materialization.request;
+package com.tencent.supersonic.headless.api.materialization.request;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
import lombok.Data;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationSourceReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationSourceReq.java
similarity index 74%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationSourceReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationSourceReq.java
index ac14b6568..6acb3f446 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/request/MaterializationSourceReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/request/MaterializationSourceReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.request;
+package com.tencent.supersonic.headless.api.materialization.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationDateResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationDateResp.java
similarity index 87%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationDateResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationDateResp.java
index 48a530c21..7e230e301 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationDateResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationDateResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementModelResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementModelResp.java
similarity index 75%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementModelResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementModelResp.java
index d67479e76..d0073afd3 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementModelResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementModelResp.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.model.pojo.Measure;
+import com.tencent.supersonic.headless.api.model.pojo.Measure;
import java.util.List;
import lombok.Builder;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementResp.java
similarity index 74%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementResp.java
index 57e85dd52..d14d7c1de 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationElementResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationElementResp.java
@@ -1,10 +1,10 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
import lombok.Data;
@Data
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationRecordResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationRecordResp.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationRecordResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationRecordResp.java
index 5a561d0d3..109079b26 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationRecordResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationRecordResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
import com.tencent.supersonic.common.pojo.RecordInfo;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationResp.java
similarity index 77%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationResp.java
index d6a750859..788b02e25 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationResp.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
import com.tencent.supersonic.common.pojo.RecordInfo;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
import lombok.Data;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationSourceResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationSourceResp.java
similarity index 75%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationSourceResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationSourceResp.java
index 50b75aa52..78f243ab3 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/materialization/response/MaterializationSourceResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/materialization/response/MaterializationSourceResp.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.api.materialization.response;
+package com.tencent.supersonic.headless.api.materialization.response;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
-import com.tencent.supersonic.semantic.api.model.response.DatabaseResp;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.model.response.DatabaseResp;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
import java.util.List;
import java.util.Map;
import lombok.AllArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DataTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DataTypeEnum.java
similarity index 98%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DataTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DataTypeEnum.java
index a9174fc47..f397e9a46 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DataTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DataTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
import com.tencent.supersonic.common.pojo.Constants;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DimensionTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DimensionTypeEnum.java
similarity index 53%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DimensionTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DimensionTypeEnum.java
index ce299d856..dfb20f31e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/DimensionTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/DimensionTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum DimensionTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/IdentifyTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/IdentifyTypeEnum.java
similarity index 52%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/IdentifyTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/IdentifyTypeEnum.java
index 595b729d4..754fb745c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/IdentifyTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/IdentifyTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum IdentifyTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/MetricTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/MetricTypeEnum.java
similarity index 50%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/MetricTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/MetricTypeEnum.java
index 112426b14..e2141fc4b 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/MetricTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/MetricTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum MetricTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/ModelSourceTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/ModelSourceTypeEnum.java
similarity index 93%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/ModelSourceTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/ModelSourceTypeEnum.java
index 8cc109847..ea6234162 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/ModelSourceTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/ModelSourceTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
import java.util.Objects;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/OperatorEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/OperatorEnum.java
similarity index 86%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/OperatorEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/OperatorEnum.java
index a0cd59b6b..4480f8990 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/OperatorEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/OperatorEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum OperatorEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryOptMode.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryOptMode.java
similarity index 52%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryOptMode.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryOptMode.java
index 080af6901..e24ca839c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryOptMode.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryOptMode.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum QueryOptMode {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeBackEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeBackEnum.java
similarity index 92%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeBackEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeBackEnum.java
index 7cb37f193..07f11fad8 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeBackEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeBackEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum QueryTypeBackEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeEnum.java
similarity index 89%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeEnum.java
index 08170c77a..25e86e250 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/QueryTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/QueryTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum QueryTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/SemanticTypeEnum.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/SemanticTypeEnum.java
similarity index 57%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/SemanticTypeEnum.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/SemanticTypeEnum.java
index 04ed6b09f..fb5dd47fb 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/enums/SemanticTypeEnum.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/enums/SemanticTypeEnum.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.enums;
+package com.tencent.supersonic.headless.api.model.enums;
public enum SemanticTypeEnum {
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DatasourceType.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DatasourceType.java
similarity index 88%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DatasourceType.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DatasourceType.java
index 729c88be2..4710ae920 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DatasourceType.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DatasourceType.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.tencent.supersonic.common.pojo.Constants;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Dim.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Dim.java
similarity index 96%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Dim.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Dim.java
index a72500541..5cfe7bfb0 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Dim.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Dim.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.tencent.supersonic.common.pojo.Constants;
import lombok.AllArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimValueMap.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimValueMap.java
similarity index 86%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimValueMap.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimValueMap.java
index 8bdc0f7fd..b689cea6e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimValueMap.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimValueMap.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimensionTimeTypeParams.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimensionTimeTypeParams.java
similarity index 82%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimensionTimeTypeParams.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimensionTimeTypeParams.java
index e852e0567..6e69ee339 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DimensionTimeTypeParams.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DimensionTimeTypeParams.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DrillDownDimension.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DrillDownDimension.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DrillDownDimension.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DrillDownDimension.java
index 221721dfb..335c58dda 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/DrillDownDimension.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/DrillDownDimension.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Entity.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Entity.java
similarity index 86%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Entity.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Entity.java
index a547a98fb..148b63847 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Entity.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Entity.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Identify.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Identify.java
similarity index 89%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Identify.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Identify.java
index 30a62f79a..845b38dc8 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Identify.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Identify.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ItemDateFilter.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ItemDateFilter.java
similarity index 82%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ItemDateFilter.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ItemDateFilter.java
index 19cb7d60a..0827e9a71 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ItemDateFilter.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ItemDateFilter.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import java.util.List;
import lombok.AllArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Measure.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Measure.java
similarity index 91%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Measure.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Measure.java
index 66e9ac9f3..4ee882ffd 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/Measure.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/Measure.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricQueryDefaultConfig.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricQueryDefaultConfig.java
similarity index 83%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricQueryDefaultConfig.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricQueryDefaultConfig.java
index e9b77c552..0aecf8106 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricQueryDefaultConfig.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricQueryDefaultConfig.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.tencent.supersonic.common.pojo.RecordInfo;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricTypeParams.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricTypeParams.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricTypeParams.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricTypeParams.java
index 78d403b23..934fc3ba6 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/MetricTypeParams.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/MetricTypeParams.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import java.util.List;
import com.google.common.collect.Lists;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ModelDetail.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ModelDetail.java
similarity index 89%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ModelDetail.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ModelDetail.java
index 1eabd59f5..dd70a2956 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/ModelDetail.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/ModelDetail.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.semantic.api.model.enums.DimensionTypeEnum;
+import com.tencent.supersonic.headless.api.model.enums.DimensionTypeEnum;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryResult.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryResult.java
similarity index 86%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryResult.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryResult.java
index 5c7a94967..89062973e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryResult.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryResult.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import java.io.Serializable;
import java.util.ArrayList;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryStat.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryStat.java
similarity index 98%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryStat.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryStat.java
index ecc0941b0..4cc14d37e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/QueryStat.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/QueryStat.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/RelateDimension.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/RelateDimension.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/RelateDimension.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/RelateDimension.java
index 285ba1ade..3391aff9c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/RelateDimension.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/RelateDimension.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.google.common.collect.Lists;
import lombok.AllArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/SchemaItem.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/SchemaItem.java
similarity index 96%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/SchemaItem.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/SchemaItem.java
index 8922799cb..f5c7171e4 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/pojo/SchemaItem.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/pojo/SchemaItem.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.pojo;
+package com.tencent.supersonic.headless.api.model.pojo;
import com.google.common.base.Objects;
import com.tencent.supersonic.common.pojo.RecordInfo;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DatabaseReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DatabaseReq.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DatabaseReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DatabaseReq.java
index 8cae6fa57..196cd725e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DatabaseReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DatabaseReq.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.semantic.api.model.enums.DataTypeEnum;
+import com.tencent.supersonic.headless.api.model.enums.DataTypeEnum;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DateInfoReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DateInfoReq.java
similarity index 95%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DateInfoReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DateInfoReq.java
index ca830162e..d4333e527 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DateInfoReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DateInfoReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import java.util.ArrayList;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DimensionReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DimensionReq.java
similarity index 75%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DimensionReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DimensionReq.java
index 44a8f8b92..2bff9eb54 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DimensionReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DimensionReq.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
-import com.tencent.supersonic.semantic.api.model.pojo.DimValueMap;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.DimValueMap;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import javax.validation.constraints.NotNull;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainReq.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainReq.java
index d2c222de3..fbddd3644 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainReq.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import java.util.ArrayList;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainUpdateReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainUpdateReq.java
similarity index 63%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainUpdateReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainUpdateReq.java
index ef8ab9fcc..2394cbcc2 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/DomainUpdateReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/DomainUpdateReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetaBatchReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetaBatchReq.java
similarity index 70%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetaBatchReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetaBatchReq.java
index e90e9ed16..d5ce06c62 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetaBatchReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetaBatchReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import lombok.Data;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricBaseReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricBaseReq.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricBaseReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricBaseReq.java
index bd0b3a37f..e8ce3d391 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricBaseReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricBaseReq.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import com.tencent.supersonic.common.pojo.DataFormat;
-import com.tencent.supersonic.semantic.api.model.pojo.RelateDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.RelateDimension;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricReq.java
similarity index 73%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricReq.java
index 092a8c537..ff5874d43 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/MetricReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/MetricReq.java
@@ -1,9 +1,9 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
-import com.tencent.supersonic.semantic.api.model.enums.MetricTypeEnum;
-import com.tencent.supersonic.semantic.api.model.pojo.Measure;
-import com.tencent.supersonic.semantic.api.model.pojo.MetricTypeParams;
+import com.tencent.supersonic.headless.api.model.enums.MetricTypeEnum;
+import com.tencent.supersonic.headless.api.model.pojo.Measure;
+import com.tencent.supersonic.headless.api.model.pojo.MetricTypeParams;
import lombok.Data;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelReq.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelReq.java
index b281b1859..81f164c88 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelReq.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.semantic.api.model.pojo.Dim;
-import com.tencent.supersonic.semantic.api.model.pojo.DrillDownDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.ModelDetail;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.Dim;
+import com.tencent.supersonic.headless.api.model.pojo.DrillDownDimension;
+import com.tencent.supersonic.headless.api.model.pojo.ModelDetail;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import java.util.ArrayList;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelSchemaFilterReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelSchemaFilterReq.java
similarity index 76%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelSchemaFilterReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelSchemaFilterReq.java
index 8d8c72d90..f5d9b39cd 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ModelSchemaFilterReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ModelSchemaFilterReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageDimensionReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageDimensionReq.java
similarity index 66%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageDimensionReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageDimensionReq.java
index f9a22d0cd..91d8be4ac 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageDimensionReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageDimensionReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageMetricReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageMetricReq.java
similarity index 65%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageMetricReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageMetricReq.java
index 40edea0c2..92f04df9c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageMetricReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageMetricReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageSchemaItemReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageSchemaItemReq.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageSchemaItemReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageSchemaItemReq.java
index 556540f0e..3527b4d8e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/PageSchemaItemReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/PageSchemaItemReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.PageBaseReq;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/SqlExecuteReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/SqlExecuteReq.java
similarity index 91%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/SqlExecuteReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/SqlExecuteReq.java
index 6a1edf94a..a7bc37f70 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/SqlExecuteReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/SqlExecuteReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import javax.validation.constraints.NotBlank;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ViewInfoReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ViewInfoReq.java
similarity index 83%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ViewInfoReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ViewInfoReq.java
index ba253f349..57d0f1301 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/request/ViewInfoReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/request/ViewInfoReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.request;
+package com.tencent.supersonic.headless.api.model.request;
import java.util.Date;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DatabaseResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DatabaseResp.java
similarity index 95%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DatabaseResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DatabaseResp.java
index fb085d85d..bbea6f867 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DatabaseResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DatabaseResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import java.util.List;
import java.util.regex.Matcher;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimSchemaResp.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimSchemaResp.java
index 3f9b09ddd..2a698cda3 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimSchemaResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import lombok.Data;
import lombok.ToString;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimensionResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimensionResp.java
similarity index 77%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimensionResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimensionResp.java
index 251874510..fe0628358 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DimensionResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DimensionResp.java
@@ -1,9 +1,9 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
-import com.tencent.supersonic.semantic.api.model.pojo.DimValueMap;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.DimValueMap;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import lombok.ToString;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DomainResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DomainResp.java
similarity index 84%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DomainResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DomainResp.java
index 809f0d061..79dcc4848 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/DomainResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/DomainResp.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
-import com.tencent.supersonic.semantic.api.model.pojo.Entity;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.Entity;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import java.util.List;
import java.util.Objects;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ExplainResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ExplainResp.java
similarity index 83%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ExplainResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ExplainResp.java
index 96f5fa8e6..cf9d91605 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ExplainResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ExplainResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import java.io.Serializable;
import lombok.AllArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MeasureResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MeasureResp.java
similarity index 86%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MeasureResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MeasureResp.java
index 72811b6f8..9fabe2ed5 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MeasureResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MeasureResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricResp.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricResp.java
index 4d0119440..da7ea237f 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricResp.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.tencent.supersonic.common.pojo.DataFormat;
-import com.tencent.supersonic.semantic.api.model.pojo.DrillDownDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.Measure;
-import com.tencent.supersonic.semantic.api.model.pojo.MetricTypeParams;
-import com.tencent.supersonic.semantic.api.model.pojo.RelateDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.DrillDownDimension;
+import com.tencent.supersonic.headless.api.model.pojo.Measure;
+import com.tencent.supersonic.headless.api.model.pojo.MetricTypeParams;
+import com.tencent.supersonic.headless.api.model.pojo.RelateDimension;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import lombok.ToString;
import org.apache.commons.collections.CollectionUtils;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricSchemaResp.java
similarity index 73%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricSchemaResp.java
index 4c90188b6..7c88703ab 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/MetricSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/MetricSchemaResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import lombok.Data;
import lombok.ToString;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelResp.java
similarity index 84%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelResp.java
index 7165ae6da..f1d03c8f8 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelResp.java
@@ -1,12 +1,12 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import com.google.common.base.Objects;
import com.google.common.collect.Lists;
-import com.tencent.supersonic.semantic.api.model.pojo.Dim;
-import com.tencent.supersonic.semantic.api.model.pojo.DrillDownDimension;
-import com.tencent.supersonic.semantic.api.model.pojo.Identify;
-import com.tencent.supersonic.semantic.api.model.pojo.ModelDetail;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.pojo.Dim;
+import com.tencent.supersonic.headless.api.model.pojo.DrillDownDimension;
+import com.tencent.supersonic.headless.api.model.pojo.Identify;
+import com.tencent.supersonic.headless.api.model.pojo.ModelDetail;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
import lombok.Data;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaRelaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaRelaResp.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaRelaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaRelaResp.java
index 11fa48f40..5f43d72b3 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaRelaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaRelaResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaResp.java
similarity index 87%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaResp.java
index 69485587f..553c5721b 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/ModelSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/ModelSchemaResp.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import com.tencent.supersonic.common.pojo.ModelRela;
-import com.tencent.supersonic.semantic.api.model.pojo.Identify;
+import com.tencent.supersonic.headless.api.model.pojo.Identify;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/QueryResultWithSchemaResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/QueryResultWithSchemaResp.java
similarity index 84%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/QueryResultWithSchemaResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/QueryResultWithSchemaResp.java
index 8a5bc5ecb..2697a2b3e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/QueryResultWithSchemaResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/QueryResultWithSchemaResp.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.QueryAuthorization;
import com.tencent.supersonic.common.pojo.QueryColumn;
-import com.tencent.supersonic.semantic.api.model.enums.SemanticTypeEnum;
-import com.tencent.supersonic.semantic.api.model.pojo.QueryResult;
+import com.tencent.supersonic.headless.api.model.enums.SemanticTypeEnum;
+import com.tencent.supersonic.headless.api.model.pojo.QueryResult;
import lombok.Data;
import lombok.ToString;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/SqlParserResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/SqlParserResp.java
similarity index 89%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/SqlParserResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/SqlParserResp.java
index b8b37a688..9d5b56c94 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/response/SqlParserResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/response/SqlParserResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.response;
+package com.tencent.supersonic.headless.api.model.response;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DataModelYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DataModelYamlTpl.java
similarity index 77%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DataModelYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DataModelYamlTpl.java
index 137582012..bd6e3658c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DataModelYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DataModelYamlTpl.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
import java.util.List;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionTimeTypeParamsTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionTimeTypeParamsTpl.java
similarity index 71%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionTimeTypeParamsTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionTimeTypeParamsTpl.java
index 83943e388..551c8b908 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionTimeTypeParamsTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionTimeTypeParamsTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionYamlTpl.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionYamlTpl.java
index a2da844af..0395ea20e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/DimensionYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/DimensionYamlTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/IdentifyYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/IdentifyYamlTpl.java
similarity index 83%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/IdentifyYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/IdentifyYamlTpl.java
index 8de633418..9dbf2969e 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/IdentifyYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/IdentifyYamlTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MeasureYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MeasureYamlTpl.java
similarity index 85%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MeasureYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MeasureYamlTpl.java
index 681041062..2b499c52c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MeasureYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MeasureYamlTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricTypeParamsYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricTypeParamsYamlTpl.java
similarity index 74%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricTypeParamsYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricTypeParamsYamlTpl.java
index 20986bfba..c661623b5 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricTypeParamsYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricTypeParamsYamlTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import java.util.List;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricYamlTpl.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricYamlTpl.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricYamlTpl.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricYamlTpl.java
index e4c5cea59..20ed5d14c 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/model/yaml/MetricYamlTpl.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/model/yaml/MetricYamlTpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.model.yaml;
+package com.tencent.supersonic.headless.api.model.yaml;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/enums/AggOption.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/enums/AggOption.java
similarity index 84%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/enums/AggOption.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/enums/AggOption.java
index 14c07b2ef..9fbd9d2e0 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/enums/AggOption.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/enums/AggOption.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.enums;
+package com.tencent.supersonic.headless.api.query.enums;
public enum AggOption {
NATIVE,
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Cache.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Cache.java
similarity index 84%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Cache.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Cache.java
index e58dacaf4..5e1ab296a 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Cache.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Cache.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.pojo;
+package com.tencent.supersonic.headless.api.query.pojo;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/DataDownload.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/DataDownload.java
similarity index 75%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/DataDownload.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/DataDownload.java
index 605083536..9d7b7637a 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/DataDownload.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/DataDownload.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.pojo;
+package com.tencent.supersonic.headless.api.query.pojo;
import lombok.Builder;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Materialization.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Materialization.java
similarity index 83%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Materialization.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Materialization.java
index d15a2a046..696c4de36 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Materialization.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Materialization.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.pojo;
+package com.tencent.supersonic.headless.api.query.pojo;
import java.util.List;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/MetricTable.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/MetricTable.java
similarity index 68%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/MetricTable.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/MetricTable.java
index 4b8e549b8..142dbdfcd 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/MetricTable.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/MetricTable.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.semantic.api.query.pojo;
+package com.tencent.supersonic.headless.api.query.pojo;
-import com.tencent.supersonic.semantic.api.query.enums.AggOption;
+import com.tencent.supersonic.headless.api.query.enums.AggOption;
import java.util.List;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Param.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Param.java
similarity index 92%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Param.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Param.java
index 7d47d71ed..d71cfa1af 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/pojo/Param.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/pojo/Param.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.pojo;
+package com.tencent.supersonic.headless.api.query.pojo;
import javax.validation.constraints.NotBlank;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/BatchDownloadReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/BatchDownloadReq.java
similarity index 80%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/BatchDownloadReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/BatchDownloadReq.java
index 61ef21164..ae02e7353 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/BatchDownloadReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/BatchDownloadReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import com.tencent.supersonic.common.pojo.DateConf;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/DownloadStructReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/DownloadStructReq.java
similarity index 79%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/DownloadStructReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/DownloadStructReq.java
index 1c6a392be..8513ca19b 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/DownloadStructReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/DownloadStructReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ExplainSqlReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ExplainSqlReq.java
similarity index 71%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ExplainSqlReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ExplainSqlReq.java
index eabf702fa..8ebfe4a42 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ExplainSqlReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ExplainSqlReq.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
-import com.tencent.supersonic.semantic.api.model.enums.QueryTypeEnum;
+import com.tencent.supersonic.headless.api.model.enums.QueryTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ItemUseReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ItemUseReq.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ItemUseReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ItemUseReq.java
index f98a808dc..42f11b350 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ItemUseReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ItemUseReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import java.util.List;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/MetricReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/MetricReq.java
similarity index 88%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/MetricReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/MetricReq.java
index 5e493a1aa..3854d7eec 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/MetricReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/MetricReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import com.tencent.supersonic.common.pojo.ColumnOrder;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ParseSqlReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ParseSqlReq.java
similarity index 80%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ParseSqlReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ParseSqlReq.java
index 50216b67e..c826bf954 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/ParseSqlReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/ParseSqlReq.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
-import com.tencent.supersonic.semantic.api.query.pojo.MetricTable;
+import com.tencent.supersonic.headless.api.query.pojo.MetricTable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryDimValueReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryDimValueReq.java
similarity index 82%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryDimValueReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryDimValueReq.java
index 363e8417b..2aeceeab1 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryDimValueReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryDimValueReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import com.tencent.supersonic.common.pojo.DateConf;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryMultiStructReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryMultiStructReq.java
similarity index 88%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryMultiStructReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryMultiStructReq.java
index a216dd16b..9e69c78e4 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryMultiStructReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryMultiStructReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryS2SQLReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryS2SQLReq.java
similarity index 90%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryS2SQLReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryS2SQLReq.java
index 978338491..56e005c4d 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryS2SQLReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryS2SQLReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import com.google.common.collect.Lists;
import lombok.Data;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryStructReq.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryStructReq.java
similarity index 98%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryStructReq.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryStructReq.java
index e7cc62cd8..9d743d368 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/request/QueryStructReq.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/request/QueryStructReq.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.request;
+package com.tencent.supersonic.headless.api.query.request;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.Aggregator;
@@ -12,8 +12,8 @@ import com.tencent.supersonic.common.util.ContextUtils;
import com.tencent.supersonic.common.util.DateModeUtils;
import com.tencent.supersonic.common.util.SqlFilterUtils;
import com.tencent.supersonic.common.util.jsqlparser.SqlParserAddHelper;
-import com.tencent.supersonic.semantic.api.query.pojo.Cache;
-import com.tencent.supersonic.semantic.api.query.pojo.Param;
+import com.tencent.supersonic.headless.api.query.pojo.Cache;
+import com.tencent.supersonic.headless.api.query.pojo.Param;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.JSQLParserException;
diff --git a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/response/ItemUseResp.java b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/response/ItemUseResp.java
similarity index 88%
rename from semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/response/ItemUseResp.java
rename to headless/api/src/main/java/com/tencent/supersonic/headless/api/query/response/ItemUseResp.java
index d348b2e3c..f0875210f 100644
--- a/semantic/api/src/main/java/com/tencent/supersonic/semantic/api/query/response/ItemUseResp.java
+++ b/headless/api/src/main/java/com/tencent/supersonic/headless/api/query/response/ItemUseResp.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.api.query.response;
+package com.tencent.supersonic.headless.api.query.response;
import lombok.Data;
import lombok.NoArgsConstructor;
diff --git a/semantic/materialization/pom.xml b/headless/materialization/pom.xml
similarity index 83%
rename from semantic/materialization/pom.xml
rename to headless/materialization/pom.xml
index 81f58fbed..4a57ee119 100644
--- a/semantic/materialization/pom.xml
+++ b/headless/materialization/pom.xml
@@ -3,17 +3,17 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- semantic
+ headless
com.tencent.supersonic
${revision}
4.0.0
- semantic-materialization
+ headless-materialization
com.tencent.supersonic
- semantic-api
+ headless-api
${project.version}
compile
@@ -24,7 +24,7 @@
com.tencent.supersonic
- semantic-model
+ headless-model
${project.version}
compile
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationConfServiceImpl.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationConfServiceImpl.java
similarity index 93%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationConfServiceImpl.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationConfServiceImpl.java
index 742c95c14..2b6402eca 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationConfServiceImpl.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationConfServiceImpl.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.application;
+package com.tencent.supersonic.headless.materialization.application;
import com.google.common.collect.Lists;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
@@ -7,32 +7,32 @@ import com.tencent.supersonic.common.pojo.enums.StatusEnum;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import com.tencent.supersonic.common.util.JsonUtil;
import com.tencent.supersonic.common.util.jsqlparser.SqlParserSelectHelper;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationConfFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationElementReq;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementModelResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationSourceResp;
-import com.tencent.supersonic.semantic.api.model.pojo.Measure;
-import com.tencent.supersonic.semantic.api.model.pojo.SchemaItem;
-import com.tencent.supersonic.semantic.api.model.request.ModelSchemaFilterReq;
-import com.tencent.supersonic.semantic.api.model.response.DimSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.MeasureResp;
-import com.tencent.supersonic.semantic.api.model.response.MetricSchemaResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelResp;
-import com.tencent.supersonic.semantic.api.model.response.ModelSchemaResp;
-import com.tencent.supersonic.semantic.materialization.domain.MaterializationConfService;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.Materialization;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationElement;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationElementRepository;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationRepository;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationConverter;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationZipperUtils;
-import com.tencent.supersonic.semantic.model.domain.ModelService;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationConfFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationElementReq;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementModelResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationSourceResp;
+import com.tencent.supersonic.headless.api.model.pojo.Measure;
+import com.tencent.supersonic.headless.api.model.pojo.SchemaItem;
+import com.tencent.supersonic.headless.api.model.request.ModelSchemaFilterReq;
+import com.tencent.supersonic.headless.api.model.response.DimSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.MeasureResp;
+import com.tencent.supersonic.headless.api.model.response.MetricSchemaResp;
+import com.tencent.supersonic.headless.api.model.response.ModelResp;
+import com.tencent.supersonic.headless.api.model.response.ModelSchemaResp;
+import com.tencent.supersonic.headless.materialization.domain.MaterializationConfService;
+import com.tencent.supersonic.headless.materialization.domain.pojo.Materialization;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationElementRepository;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationRepository;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationConverter;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationZipperUtils;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationElement;
+import com.tencent.supersonic.headless.model.domain.ModelService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationRecordServiceImpl.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationRecordServiceImpl.java
similarity index 84%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationRecordServiceImpl.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationRecordServiceImpl.java
index 8cd0f6448..713e2cb9f 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/application/MaterializationRecordServiceImpl.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/application/MaterializationRecordServiceImpl.java
@@ -1,19 +1,19 @@
-package com.tencent.supersonic.semantic.materialization.application;
+package com.tencent.supersonic.headless.materialization.application;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
import com.tencent.supersonic.common.util.JsonUtil;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationDateFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationRecordFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationRecordReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationDateResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
-import com.tencent.supersonic.semantic.materialization.domain.MaterializationRecordService;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationRecord;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationRecordRepository;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationRecordConverter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationDateFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationRecordFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationRecordReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationDateResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.materialization.domain.MaterializationRecordService;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationRecord;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationRecordRepository;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationRecordConverter;
import java.util.Arrays;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationConfService.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationConfService.java
similarity index 72%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationConfService.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationConfService.java
index ac6cad772..1a8af3899 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationConfService.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationConfService.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.semantic.materialization.domain;
+package com.tencent.supersonic.headless.materialization.domain;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationConfFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationElementReq;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementModelResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationSourceResp;
-import com.tencent.supersonic.semantic.api.model.response.MeasureResp;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationConfFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationElementReq;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementModelResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationSourceResp;
+import com.tencent.supersonic.headless.api.model.response.MeasureResp;
import java.util.List;
public interface MaterializationConfService {
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationRecordService.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationRecordService.java
similarity index 71%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationRecordService.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationRecordService.java
index 2425e9eb5..c0160fc06 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/MaterializationRecordService.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/MaterializationRecordService.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.semantic.materialization.domain;
+package com.tencent.supersonic.headless.materialization.domain;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationDateFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationRecordFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationRecordReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationDateResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationDateFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationRecordFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationRecordReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationDateResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
import java.util.List;
public interface MaterializationRecordService {
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDO.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDO.java
similarity index 97%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDO.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDO.java
index 5989f471b..018d20556 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDO.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDO.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import java.util.Date;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOExample.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOExample.java
similarity index 99%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOExample.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOExample.java
index 94c607e17..247949c8a 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOExample.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOExample.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import java.util.ArrayList;
import java.util.Date;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOWithBLOBs.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOWithBLOBs.java
similarity index 92%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOWithBLOBs.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOWithBLOBs.java
index 7e99fd660..4c018fdae 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationDOWithBLOBs.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationDOWithBLOBs.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
public class MaterializationDOWithBLOBs extends MaterializationDO {
private String dateInfo;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDO.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDO.java
similarity index 96%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDO.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDO.java
index a0a20a824..a8130be4a 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDO.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDO.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import java.util.Date;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOExample.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOExample.java
similarity index 99%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOExample.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOExample.java
index 5683b0626..d3356821f 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOExample.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOExample.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import java.util.ArrayList;
import java.util.Date;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOKey.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOKey.java
similarity index 90%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOKey.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOKey.java
index fcd9e26fe..48f1b66f8 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOKey.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOKey.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
public class MaterializationElementDOKey {
private Long id;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java
similarity index 89%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java
index 9e2542ccf..64288c031 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationElementDOWithBLOBs.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
public class MaterializationElementDOWithBLOBs extends MaterializationElementDO {
private String depends;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDO.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDO.java
similarity index 98%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDO.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDO.java
index 42ee0fa4d..ecaf85f93 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDO.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDO.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import lombok.Data;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDOExample.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDOExample.java
similarity index 99%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDOExample.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDOExample.java
index 5bc55894d..de241e365 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/dataobject/MaterializationRecordDOExample.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/dataobject/MaterializationRecordDOExample.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.dataobject;
+package com.tencent.supersonic.headless.materialization.domain.dataobject;
import java.util.ArrayList;
import java.util.Date;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/Materialization.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/Materialization.java
similarity index 78%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/Materialization.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/Materialization.java
index 9bc42dd89..decc512f4 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/Materialization.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/Materialization.java
@@ -1,10 +1,10 @@
-package com.tencent.supersonic.semantic.materialization.domain.pojo;
+package com.tencent.supersonic.headless.materialization.domain.pojo;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
import lombok.Data;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationElement.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationElement.java
similarity index 76%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationElement.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationElement.java
index 51112c7d6..32040aa4a 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationElement.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationElement.java
@@ -1,11 +1,11 @@
-package com.tencent.supersonic.semantic.materialization.domain.pojo;
+package com.tencent.supersonic.headless.materialization.domain.pojo;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.StatusEnum;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
import lombok.Data;
@Data
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationRecord.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationRecord.java
similarity index 90%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationRecord.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationRecord.java
index 333f4fe7e..4f5c21a19 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/pojo/MaterializationRecord.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/pojo/MaterializationRecord.java
@@ -1,4 +1,4 @@
-package com.tencent.supersonic.semantic.materialization.domain.pojo;
+package com.tencent.supersonic.headless.materialization.domain.pojo;
import com.tencent.supersonic.common.pojo.RecordInfo;
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationElementRepository.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationElementRepository.java
similarity index 65%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationElementRepository.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationElementRepository.java
index 7ea85d579..3b18562ef 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationElementRepository.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationElementRepository.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.materialization.domain.repository;
+package com.tencent.supersonic.headless.materialization.domain.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationConfFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationElement;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationConfFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationElement;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRecordRepository.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRecordRepository.java
similarity index 66%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRecordRepository.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRecordRepository.java
index f568bc806..5130bf1a1 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRecordRepository.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRecordRepository.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.materialization.domain.repository;
+package com.tencent.supersonic.headless.materialization.domain.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationRecordFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationRecord;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationRecordFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationRecord;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRepository.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRepository.java
similarity index 60%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRepository.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRepository.java
index 2987dc9c2..b5273d5c9 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/repository/MaterializationRepository.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/repository/MaterializationRepository.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.materialization.domain.repository;
+package com.tencent.supersonic.headless.materialization.domain.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.Materialization;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.Materialization;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationConverter.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationConverter.java
similarity index 89%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationConverter.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationConverter.java
index 454bcf232..2c79345b0 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationConverter.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationConverter.java
@@ -1,20 +1,20 @@
-package com.tencent.supersonic.semantic.materialization.domain.utils;
+package com.tencent.supersonic.headless.materialization.domain.utils;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import com.tencent.supersonic.common.util.BeanMapper;
import com.tencent.supersonic.common.util.JsonUtil;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
-import com.tencent.supersonic.semantic.api.model.enums.ModelSourceTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.UpdateCycleEnum;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationElementReq;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDOWithBLOBs;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.Materialization;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationElement;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.model.enums.ModelSourceTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.UpdateCycleEnum;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationElementReq;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.Materialization;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDOWithBLOBs;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationElement;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationPartitionHelper.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationPartitionHelper.java
similarity index 92%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationPartitionHelper.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationPartitionHelper.java
index 54b54aaec..b65d98c84 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationPartitionHelper.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationPartitionHelper.java
@@ -1,10 +1,10 @@
-package com.tencent.supersonic.semantic.materialization.domain.utils;
+package com.tencent.supersonic.headless.materialization.domain.utils;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
import org.apache.logging.log4j.util.Strings;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationRecordConverter.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationRecordConverter.java
similarity index 89%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationRecordConverter.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationRecordConverter.java
index 79891ebb0..2db77dc4c 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationRecordConverter.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationRecordConverter.java
@@ -1,12 +1,12 @@
-package com.tencent.supersonic.semantic.materialization.domain.utils;
+package com.tencent.supersonic.headless.materialization.domain.utils;
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
import com.tencent.supersonic.common.util.BeanMapper;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationRecordReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationRecordDO;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationRecord;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationRecordReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationRecord;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationRecordDO;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.BeanUtils;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationUtils.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationUtils.java
similarity index 53%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationUtils.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationUtils.java
index aca96cf09..90c1d60c0 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationUtils.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationUtils.java
@@ -1,6 +1,6 @@
-package com.tencent.supersonic.semantic.materialization.domain.utils;
+package com.tencent.supersonic.headless.materialization.domain.utils;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
public interface MaterializationUtils {
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationZipperUtils.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationZipperUtils.java
similarity index 90%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationZipperUtils.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationZipperUtils.java
index c2f1b374e..a0cd566b7 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/domain/utils/MaterializationZipperUtils.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/domain/utils/MaterializationZipperUtils.java
@@ -1,16 +1,16 @@
-package com.tencent.supersonic.semantic.materialization.domain.utils;
+package com.tencent.supersonic.headless.materialization.domain.utils;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.pojo.enums.DataTypeEnums;
import com.tencent.supersonic.common.pojo.enums.TypeEnums;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementFrequencyEnum;
-import com.tencent.supersonic.semantic.api.materialization.enums.ElementTypeEnum;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.api.model.response.DimensionResp;
-import com.tencent.supersonic.semantic.model.domain.DimensionService;
-import com.tencent.supersonic.semantic.model.domain.pojo.DimensionFilter;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementFrequencyEnum;
+import com.tencent.supersonic.headless.api.materialization.enums.ElementTypeEnum;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.model.response.DimensionResp;
+import com.tencent.supersonic.headless.model.domain.DimensionService;
+import com.tencent.supersonic.headless.model.domain.pojo.DimensionFilter;
import org.apache.logging.log4j.util.Strings;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java
similarity index 60%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java
index 7c05aa877..02eec8ac3 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOCustomMapper.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.mapper;
+package com.tencent.supersonic.headless.materialization.infrastructure.mapper;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDOWithBLOBs;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDOWithBLOBs;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOMapper.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOMapper.java
similarity index 77%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOMapper.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOMapper.java
index 779ca2225..4ed7e432a 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationDOMapper.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationDOMapper.java
@@ -1,8 +1,8 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.mapper;
+package com.tencent.supersonic.headless.materialization.infrastructure.mapper;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDO;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDOExample;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDOWithBLOBs;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDO;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDOExample;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDOWithBLOBs;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationElementDOMapper.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationElementDOMapper.java
similarity index 78%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationElementDOMapper.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationElementDOMapper.java
index ff2f1f507..85058e149 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationElementDOMapper.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationElementDOMapper.java
@@ -1,9 +1,9 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.mapper;
+package com.tencent.supersonic.headless.materialization.infrastructure.mapper;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDO;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOExample;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOKey;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDO;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOExample;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOKey;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java
similarity index 83%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java
index 6ba124599..e7f80f944 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/mapper/MaterializationRecordDOMapper.java
@@ -1,7 +1,7 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.mapper;
+package com.tencent.supersonic.headless.materialization.infrastructure.mapper;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationRecordDO;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationRecordDOExample;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationRecordDO;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationRecordDOExample;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java
similarity index 85%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java
index ef08df19b..be6c4a5ef 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationElementRepositoryImpl.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.repository;
+package com.tencent.supersonic.headless.materialization.infrastructure.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationConfFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationElementResp;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOExample;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOKey;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationElement;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationElementRepository;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationConverter;
-import com.tencent.supersonic.semantic.materialization.infrastructure.mapper.MaterializationElementDOMapper;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationConfFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationElementResp;
+import com.tencent.supersonic.headless.materialization.infrastructure.mapper.MaterializationElementDOMapper;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOExample;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOKey;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationElementDOWithBLOBs;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationElement;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationElementRepository;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationConverter;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java
similarity index 89%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java
index 8226544ec..b9cb957a6 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRecordRepositoryImpl.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.repository;
+package com.tencent.supersonic.headless.materialization.infrastructure.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationRecordFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationRecordDO;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationRecordDOExample;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.MaterializationRecord;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationRecordRepository;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationRecordConverter;
-import com.tencent.supersonic.semantic.materialization.infrastructure.mapper.MaterializationRecordDOMapper;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationRecordFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationRecordDO;
+import com.tencent.supersonic.headless.materialization.domain.pojo.MaterializationRecord;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationRecordRepository;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationRecordConverter;
+import com.tencent.supersonic.headless.materialization.infrastructure.mapper.MaterializationRecordDOMapper;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationRecordDOExample;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRepositoryImpl.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRepositoryImpl.java
similarity index 81%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRepositoryImpl.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRepositoryImpl.java
index 6f63ef64f..2c4af4bc5 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/infrastructure/repository/MaterializationRepositoryImpl.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/infrastructure/repository/MaterializationRepositoryImpl.java
@@ -1,13 +1,13 @@
-package com.tencent.supersonic.semantic.materialization.infrastructure.repository;
+package com.tencent.supersonic.headless.materialization.infrastructure.repository;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.materialization.domain.dataobject.MaterializationDOWithBLOBs;
-import com.tencent.supersonic.semantic.materialization.domain.pojo.Materialization;
-import com.tencent.supersonic.semantic.materialization.domain.repository.MaterializationRepository;
-import com.tencent.supersonic.semantic.materialization.domain.utils.MaterializationConverter;
-import com.tencent.supersonic.semantic.materialization.infrastructure.mapper.MaterializationDOCustomMapper;
-import com.tencent.supersonic.semantic.materialization.infrastructure.mapper.MaterializationDOMapper;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.materialization.domain.pojo.Materialization;
+import com.tencent.supersonic.headless.materialization.domain.repository.MaterializationRepository;
+import com.tencent.supersonic.headless.materialization.domain.utils.MaterializationConverter;
+import com.tencent.supersonic.headless.materialization.infrastructure.mapper.MaterializationDOCustomMapper;
+import com.tencent.supersonic.headless.materialization.infrastructure.mapper.MaterializationDOMapper;
+import com.tencent.supersonic.headless.materialization.domain.dataobject.MaterializationDOWithBLOBs;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationConfController.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationConfController.java
similarity index 89%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationConfController.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationConfController.java
index 10d5f2d8e..652a0c8bd 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationConfController.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationConfController.java
@@ -1,14 +1,14 @@
-package com.tencent.supersonic.semantic.materialization.rest;
+package com.tencent.supersonic.headless.materialization.rest;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationConfFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationElementReq;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationSourceResp;
-import com.tencent.supersonic.semantic.materialization.domain.MaterializationConfService;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationConfFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationElementReq;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationSourceResp;
+import com.tencent.supersonic.headless.materialization.domain.MaterializationConfService;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
diff --git a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationRecordController.java b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationRecordController.java
similarity index 87%
rename from semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationRecordController.java
rename to headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationRecordController.java
index 756447ec1..c7eb19441 100644
--- a/semantic/materialization/src/main/java/com/tencent/supersonic/semantic/materialization/rest/MaterializationRecordController.java
+++ b/headless/materialization/src/main/java/com/tencent/supersonic/headless/materialization/rest/MaterializationRecordController.java
@@ -1,13 +1,13 @@
-package com.tencent.supersonic.semantic.materialization.rest;
+package com.tencent.supersonic.headless.materialization.rest;
import com.tencent.supersonic.auth.api.authentication.pojo.User;
import com.tencent.supersonic.auth.api.authentication.utils.UserHolder;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationDateFilter;
-import com.tencent.supersonic.semantic.api.materialization.pojo.MaterializationRecordFilter;
-import com.tencent.supersonic.semantic.api.materialization.request.MaterializationRecordReq;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationDateResp;
-import com.tencent.supersonic.semantic.api.materialization.response.MaterializationRecordResp;
-import com.tencent.supersonic.semantic.materialization.domain.MaterializationRecordService;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationDateFilter;
+import com.tencent.supersonic.headless.api.materialization.pojo.MaterializationRecordFilter;
+import com.tencent.supersonic.headless.api.materialization.request.MaterializationRecordReq;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationDateResp;
+import com.tencent.supersonic.headless.api.materialization.response.MaterializationRecordResp;
+import com.tencent.supersonic.headless.materialization.domain.MaterializationRecordService;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/semantic/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml b/headless/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml
similarity index 92%
rename from semantic/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml
rename to headless/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml
index 308ce140c..cc8fa3983 100644
--- a/semantic/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml
+++ b/headless/materialization/src/main/resources/mapper/MaterializationDOCustomMapper.xml
@@ -1,7 +1,7 @@
-
-
+
+
@@ -17,7 +17,7 @@
-
+
@@ -59,7 +59,7 @@
date_info, entities, description
-