refactor: 어플리케이션 업무코드(DAP) 전면 전환에 따른 패키지 및 모듈명 대규모 리팩토링

This commit is contained in:
jade
2026-07-16 16:18:04 +09:00
parent 6159b0856a
commit a82bc1a196
285 changed files with 782 additions and 782 deletions

View File

@@ -45,9 +45,9 @@ docker compose up -d --build
媛쒕컻 以??뱀젙 紐⑤뱢留??꾩썙 ?붾쾭源낇빐????寃쎌슦 ?꾨옒?€ 媛숈씠 ?ㅽ뻾?⑸땲?? 媛쒕컻 以??뱀젙 紐⑤뱢留??꾩썙 ?붾쾭源낇빐????寃쎌슦 ?꾨옒?€ 媛숈씠 ?ㅽ뻾?⑸땲??
- **Gateway ?쒕쾭 湲곕룞:** - **Gateway ?쒕쾭 湲곕룞:**
- `./gradlew :axhub-gateway:bootRun` - `./gradlew :dap-gateway:bootRun`
- **Tool ?쒕쾭 湲곕룞 (?? other ??:** - **Tool ?쒕쾭 湲곕룞 (?? other ??:**
- `./gradlew :axhub-tool-other:bootRun` - `./gradlew :dap-tool-other:bootRun`
- Tool ?쒕쾭媛€ 湲곕룞?섎㈃ ?먮룞?쇰줈 Gateway???먯떊???깅줉(Auto-Registration)?⑸땲?? - Tool ?쒕쾭媛€ 湲곕룞?섎㈃ ?먮룞?쇰줈 Gateway???먯떊???깅줉(Auto-Registration)?⑸땲??
@@ -70,7 +70,7 @@ docker compose up -d --build
### 2. ?꾨줈?뺤뀡 ?대씪?곕뱶 AI (Google Cloud Agent Builder ?? ?곕룞 ### 2. ?꾨줈?뺤뀡 ?대씪?곕뱶 AI (Google Cloud Agent Builder ?? ?곕룞
?ㅼ젣 ?쇱씠釉??쒕퉬?ㅼ뿉???숈옉?섎뒗 ?대씪?곕뱶 Agent Builder??REST API 湲곕컲??OpenAPI Spec???붽뎄?⑸땲?? ?ㅼ젣 ?쇱씠釉??쒕퉬?ㅼ뿉???숈옉?섎뒗 ?대씪?곕뱶 Agent Builder??REST API 湲곕컲??OpenAPI Spec???붽뎄?⑸땲??
`axhub-gateway`???대? **Agent Builder 洹쒓꺽??REST API(`/mcp/api/v1/tools/call`)瑜??ㅼ씠?곕툕濡??쒓났**?섎?濡? 蹂꾨룄??釉뚮┸吏€???대뙌???놁씠 Endpoint URL怨?Swagger(OpenAPI) 臾몄꽌留??대씪?곕뱶 肄섏넄???깅줉?섎㈃ 利됱떆 ?쇱씠釉?梨쀫큸/?먯씠?꾪듃濡??쒕퉬?ㅽ븷 ???덉뒿?덈떎. `dap-gateway`???대? **Agent Builder 洹쒓꺽??REST API(`/mcp/api/v1/tools/call`)瑜??ㅼ씠?곕툕濡??쒓났**?섎?濡? 蹂꾨룄??釉뚮┸吏€???대뙌???놁씠 Endpoint URL怨?Swagger(OpenAPI) 臾몄꽌留??대씪?곕뱶 肄섏넄???깅줉?섎㈃ 利됱떆 ?쇱씠釉?梨쀫큸/?먯씠?꾪듃濡??쒕퉬?ㅽ븷 ???덉뒿?덈떎.
### 3. (Legacy) 濡쒖뺄 肄붾뵫 AI (Cursor, Claude Desktop ?? ?곕룞 ### 3. (Legacy) 濡쒖뺄 肄붾뵫 AI (Cursor, Claude Desktop ?? ?곕룞
?쒖? MCP ?듭떊(Stdio)???붽뎄?섎뒗 濡쒖뺄 AI ?먯씠?꾪듃瑜??꾪빐 ?먮컮 湲곕컲??釉뚮┸吏€ ?ㅽ겕由쏀듃(`McpBridge.java`)瑜??댁옣?섍퀬 ?덉뒿?덈떎. 釉뚮┸吏€媛€ Stdio ?붿껌??HTTP濡?蹂€?섑븯??濡쒖뺄 ?섍꼍??Gateway濡??꾨떖?⑸땲?? ?쒖? MCP ?듭떊(Stdio)???붽뎄?섎뒗 濡쒖뺄 AI ?먯씠?꾪듃瑜??꾪빐 ?먮컮 湲곕컲??釉뚮┸吏€ ?ㅽ겕由쏀듃(`McpBridge.java`)瑜??댁옣?섍퀬 ?덉뒿?덈떎. 釉뚮┸吏€媛€ Stdio ?붿껌??HTTP濡?蹂€?섑븯??濡쒖뺄 ?섍꼍??Gateway濡??꾨떖?⑸땲??
@@ -78,9 +78,9 @@ docker compose up -d --build
- **?ㅼ젙 諛⑸쾿**: IDE??`mcp_config.json` ?ㅼ젙 ?뚯씪???꾨옒?€ 媛숈씠 ?깅줉?⑸땲?? - **?ㅼ젙 諛⑸쾿**: IDE??`mcp_config.json` ?ㅼ젙 ?뚯씪???꾨옒?€ 媛숈씠 ?깅줉?⑸땲??
```json ```json
"mcpServers": { "mcpServers": {
"axhub-gateway": { "dap-gateway": {
"command": "java", "command": "java",
"args": ["C:/?덈?寃쎈줈/axhub-backend-main/McpBridge.java"] "args": ["C:/?덈?寃쎈줈/dap-backend-main/McpBridge.java"]
} }
} }
``` ```
@@ -140,11 +140,11 @@ MSA 諛??몃? ?쒖뒪??MCI) ?곕룞 ?섍꼍???덉젙?깆쓣 ?꾪빐 ?꾨꼍??3-T
```bash ```bash
# ?ъ슜踰? javac濡?而댄뙆?????ㅽ뻾 # ?ъ슜踰? javac濡?而댄뙆?????ㅽ뻾
javac -encoding UTF-8 axhub-common/src/main/java/io/shinhanlife/axhub/common/util/PodScaffolder.java javac -encoding UTF-8 dap-common/src/main/java/io/shinhanlife/axhub/common/util/PodScaffolder.java
java -cp axhub-common/src/main/java io.shinhanlife.axhub.common.util.PodScaffolder [紐⑤뱢紐? [?ы듃踰덊샇] java -cp dap-common/src/main/java io.shinhanlife.dap.common.util.PodScaffolder [紐⑤뱢紐? [?ы듃踰덊샇]
# ?ㅽ뻾 ?덉떆 (axhub-tool-hr 紐⑤뱢??8086 ?ы듃濡??앹꽦) # ?ㅽ뻾 ?덉떆 (dap-tool-hr 紐⑤뱢??8086 ?ы듃濡??앹꽦)
java -cp axhub-common/src/main/java io.shinhanlife.axhub.common.util.PodScaffolder hr 8086 java -cp dap-common/src/main/java io.shinhanlife.dap.common.util.PodScaffolder hr 8086
``` ```
### 2???앹꽦??紐⑤뱢???덈줈????Function)??異붽????? `ToolScaffolder` ### 2???앹꽦??紐⑤뱢???덈줈????Function)??異붽????? `ToolScaffolder`
@@ -152,11 +152,11 @@ java -cp axhub-common/src/main/java io.shinhanlife.axhub.common.util.PodScaffold
```bash ```bash
# ?ъ슜踰? javac濡?而댄뙆?????ㅽ뻾 # ?ъ슜踰? javac濡?而댄뙆?????ㅽ뻾
javac -encoding UTF-8 axhub-common/src/main/java/io/shinhanlife/axhub/common/util/ToolScaffolder.java javac -encoding UTF-8 dap-common/src/main/java/io/shinhanlife/axhub/common/util/ToolScaffolder.java
java -cp axhub-common/src/main/java io.shinhanlife.axhub.common.util.ToolScaffolder [Tool?대쫫] [?명꽣?섏씠?짪D] "[湲곕뒫?ㅻ챸]" "[洹몃9紐?" "[?듭떊諛⑹떇]" "[紐⑤뱢紐?" java -cp dap-common/src/main/java io.shinhanlife.dap.common.util.ToolScaffolder [Tool?대쫫] [?명꽣?섏씠?짪D] "[湲곕뒫?ㅻ챸]" "[洹몃9紐?" "[?듭떊諛⑹떇]" "[紐⑤뱢紐?"
# ?ㅽ뻾 ?덉떆 (payment 紐⑤뱢??寃곗젣 ?뱀씤 湲곕뒫 異붽?) # ?ㅽ뻾 ?덉떆 (payment 紐⑤뱢??寃곗젣 ?뱀씤 湲곕뒫 異붽?)
java -cp axhub-common/src/main/java io.shinhanlife.axhub.common.util.ToolScaffolder PaymentApproval PAY_001 "寃곗젣 ?뱀씤 泥섎━ 湲곕뒫" "COMMON" "HTTP" "axhub-tool-payment" java -cp dap-common/src/main/java io.shinhanlife.dap.common.util.ToolScaffolder PaymentApproval PAY_001 "寃곗젣 ?뱀씤 泥섎━ 湲곕뒫" "COMMON" "HTTP" "dap-tool-payment"
``` ```
--- ---
@@ -164,14 +164,14 @@ java -cp axhub-common/src/main/java io.shinhanlife.axhub.common.util.ToolScaffol
## ?⑦궎吏€ 援ъ“ (Package Structure) ## ?⑦궎吏€ 援ъ“ (Package Structure)
```text ```text
axhub-backend-main (Root) dap-backend-main (Root)
?쒋??€ axhub-gateway # MCP ?쇱슦???덈툕 ?쒕쾭 (?몃? LLM怨??듭떊 諛?Tool 遺꾨같) ?쒋??€ dap-gateway # MCP ?쇱슦???덈툕 ?쒕쾭 (?몃? LLM怨??듭떊 諛?Tool 遺꾨같)
?쒋??€ axhub-common # 怨듯넻 紐⑤뱢 (Security, Session, Config ?? ?쒋??€ dap-common # 怨듯넻 紐⑤뱢 (Security, Session, Config ??
?쒋??€ axhub-tool-core # Tool 怨듯넻 湲곕뒫 (AbstractMcpToolService, Annotation, Scaffolder) ?쒋??€ dap-tool-core # Tool 怨듯넻 湲곕뒫 (AbstractMcpToolService, Annotation, Scaffolder)
?쒋??€ axhub-tool-email # [Tool] ?대찓??諛쒖넚 ?뱁솕 ?대뙌??紐⑤뱢 ?쒋??€ dap-tool-email # [Tool] ?대찓??諛쒖넚 ?뱁솕 ?대뙌??紐⑤뱢
?쒋??€ axhub-tool-sms # [Tool] SMS 諛쒖넚 ?뱁솕 ?대뙌??紐⑤뱢 ?쒋??€ dap-tool-sms # [Tool] SMS 諛쒖넚 ?뱁솕 ?대뙌??紐⑤뱢
?쒋??€ axhub-tool-payment # [Tool] 寃곗젣 鍮꾩쫰?덉뒪 ?대뙌??紐⑤뱢 (Scaffolded) ?쒋??€ dap-tool-payment # [Tool] 寃곗젣 鍮꾩쫰?덉뒪 ?대뙌??紐⑤뱢 (Scaffolded)
?붴??€ axhub-tool-other # [Tool] 湲고? 鍮꾩쫰?덉뒪(泥?뎄, 怨꾩빟, 怨좉컼, HR ?? ?대뙌??紐⑤뱢 ?붴??€ dap-tool-other # [Tool] 湲고? 鍮꾩쫰?덉뒪(泥?뎄, 怨꾩빟, 怨좉컼, HR ?? ?대뙌??紐⑤뱢
``` ```
*(李멸퀬: 湲곗〈 ?⑥씪 紐⑤뱢 ?꾨줈?앺듃?먯꽌 留덉씠?щ줈?쒕퉬???뺤옣???꾪빐 紐⑤뱢蹂꾨줈 遺꾨━?섏뿀?쇰ʼn, 媛?Tool ?쒕쾭???낅┰?곸쑝濡??뺤옣 諛?諛고룷?????덉뒿?덈떎.)* *(李멸퀬: 湲곗〈 ?⑥씪 紐⑤뱢 ?꾨줈?앺듃?먯꽌 留덉씠?щ줈?쒕퉬???뺤옣???꾪빐 紐⑤뱢蹂꾨줈 遺꾨━?섏뿀?쇰ʼn, 媛?Tool ?쒕쾭???낅┰?곸쑝濡??뺤옣 諛?諛고룷?????덉뒿?덈떎.)*

View File

@@ -1,15 +0,0 @@
package io.shinhanlife.axhub.biz.mcp.tool.payment;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
import org.springframework.cache.annotation.EnableCaching;
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.axhub.biz.mcp.tool", "io.shinhanlife.axhub.biz.mcp.adapter", "io.shinhanlife.axhub.common.mcp", "io.shinhanlife.axhub.common.config"})
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.axhub.biz.mcp.tool", "io.shinhanlife.axhub.biz.mcp.adapter", "io.shinhanlife.axhub.common.mcp", "io.shinhanlife.axhub.common.config"})
@EnableCaching
public class PaymentToolApplication {
public static void main(String[] args) {
SpringApplication.run(PaymentToolApplication.class, args);
}
}

View File

@@ -1,15 +0,0 @@
package io.shinhanlife.axhub.biz.mcp.tool.sms;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
import org.springframework.cache.annotation.EnableCaching;
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.axhub.biz.mcp.tool", "io.shinhanlife.axhub.biz.mcp.adapter", "io.shinhanlife.axhub.common.mcp", "io.shinhanlife.axhub.common.config"})
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.axhub.biz.mcp.tool", "io.shinhanlife.axhub.biz.mcp.adapter", "io.shinhanlife.axhub.common.mcp", "io.shinhanlife.axhub.common.config"})
@EnableCaching
public class AxHubToolSmsApplication {
public static void main(String[] args) {
SpringApplication.run(AxHubToolSmsApplication.class, args);
}
}

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.adapter.dto; package io.shinhanlife.dap.biz.mcp.adapter.dto;
import lombok.Builder; import lombok.Builder;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@@ -8,7 +8,7 @@ import lombok.Getter;
import lombok.Setter; import lombok.Setter;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.adapter.dto * @package io.shinhanlife.dap.biz.mcp.adapter.dto
* @className ErrorDetail * @className ErrorDetail
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,10 +1,10 @@
package io.shinhanlife.axhub.biz.mcp.adapter.dto; package io.shinhanlife.dap.biz.mcp.adapter.dto;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.adapter.dto * @package io.shinhanlife.dap.biz.mcp.adapter.dto
* @className JsonRpcRequest * @className JsonRpcRequest
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.adapter.dto; package io.shinhanlife.dap.biz.mcp.adapter.dto;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Getter; import lombok.Getter;
@@ -6,7 +6,7 @@ import lombok.Setter;
// 2. 응답 DTO // 2. 응답 DTO
/** /**
* @package io.shinhanlife.axhub.biz.mcp.adapter.dto * @package io.shinhanlife.dap.biz.mcp.adapter.dto
* @className JsonRpcResponse * @className JsonRpcResponse
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.adapter.dto; package io.shinhanlife.dap.biz.mcp.adapter.dto;
import lombok.Builder; import lombok.Builder;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@@ -11,7 +11,7 @@ import lombok.Getter;
import lombok.Setter; import lombok.Setter;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.adapter.dto * @package io.shinhanlife.dap.biz.mcp.adapter.dto
* @className Params * @className Params
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.dto; package io.shinhanlife.dap.biz.mcp.gateway.dto;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -15,7 +15,7 @@ import java.util.Map;
* Redis 레지스트리에 저장되며, Planner와 Router 간의 통신 객체(Plan) 사용됩니다. * Redis 레지스트리에 저장되며, Planner와 Router 간의 통신 객체(Plan) 사용됩니다.
*/ */
/** /**
* @package io.shinhanlife.axhub.biz.mcp.gateway.dto * @package io.shinhanlife.dap.biz.mcp.gateway.dto
* @className ToolMetadata * @className ToolMetadata
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,11 +1,11 @@
package io.shinhanlife.axhub.common.config; package io.shinhanlife.dap.common.config;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/** /**
* @package io.shinhanlife.axhub.common.config * @package io.shinhanlife.dap.common.config
* @className CorsConfig * @className CorsConfig
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.config; package io.shinhanlife.dap.common.config;
import javax.sql.DataSource; import javax.sql.DataSource;
@@ -8,7 +8,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
/** /**
* @package io.shinhanlife.axhub.common.config * @package io.shinhanlife.dap.common.config
* @className MybatisConfig * @className MybatisConfig
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,10 +1,10 @@
package io.shinhanlife.axhub.common.config; package io.shinhanlife.dap.common.config;
import com.p6spy.engine.logging.Category; import com.p6spy.engine.logging.Category;
import com.p6spy.engine.spy.appender.MessageFormattingStrategy; import com.p6spy.engine.spy.appender.MessageFormattingStrategy;
/** /**
* @package io.shinhanlife.axhub.common.config * @package io.shinhanlife.dap.common.config
* @className P6SpySqlFormatter * @className P6SpySqlFormatter
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.integration; package io.shinhanlife.dap.common.integration;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -17,7 +17,7 @@ import org.springframework.stereotype.Component;
* MCP 툴에서 손쉽게 호출할 있도록 일원화한 컴포넌트입니다. * MCP 툴에서 손쉽게 호출할 있도록 일원화한 컴포넌트입니다.
*/ */
/** /**
* @package io.shinhanlife.axhub.common.integration * @package io.shinhanlife.dap.common.integration
* @className GlowIntegrationCall * @className GlowIntegrationCall
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.integration.dto; package io.shinhanlife.dap.common.integration.dto;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -16,7 +16,7 @@ import java.util.List;
* 새로운 대외 통신 전문을 만들 파일을 복사해서 필드명과 길이만 수정하여 사용하세요. * 새로운 대외 통신 전문을 만들 파일을 복사해서 필드명과 길이만 수정하여 사용하세요.
*/ */
/** /**
* @package io.shinhanlife.axhub.common.integration.dto * @package io.shinhanlife.dap.common.integration.dto
* @className SampleGlowMessage * @className SampleGlowMessage
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.integration.mci.config; package io.shinhanlife.dap.common.integration.mci.config;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -6,7 +6,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
/** /**
* @package io.shinhanlife.axhub.common.integration.mci.config * @package io.shinhanlife.dap.common.integration.mci.config
* @className ShinhanIntegrationProperties * @className ShinhanIntegrationProperties
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.integration.mci.dto; package io.shinhanlife.dap.common.integration.mci.dto;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@@ -8,7 +8,7 @@ import lombok.NoArgsConstructor;
import com.fasterxml.jackson.annotation.JsonUnwrapped; import com.fasterxml.jackson.annotation.JsonUnwrapped;
/** /**
* @package io.shinhanlife.axhub.common.integration.mci.dto * @package io.shinhanlife.dap.common.integration.mci.dto
* @className MciRequestWrapper * @className MciRequestWrapper
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.integration.mci.dto; package io.shinhanlife.dap.common.integration.mci.dto;
import com.fasterxml.jackson.annotation.JsonUnwrapped; import com.fasterxml.jackson.annotation.JsonUnwrapped;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -7,7 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
/** /**
* @package io.shinhanlife.axhub.common.integration.mci.dto * @package io.shinhanlife.dap.common.integration.mci.dto
* @className MciResponseWrapper * @className MciResponseWrapper
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.integration.mci.dto; package io.shinhanlife.dap.common.integration.mci.dto;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@@ -6,7 +6,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
/** /**
* @package io.shinhanlife.axhub.common.integration.mci.dto * @package io.shinhanlife.dap.common.integration.mci.dto
* @className ShinhanCommonHeaderDto * @className ShinhanCommonHeaderDto
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.mcp.config; package io.shinhanlife.dap.common.mcp.config;
import org.springframework.cache.CacheManager; import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.annotation.EnableCaching;
@@ -7,7 +7,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
/** /**
* @package io.shinhanlife.axhub.common.mcp.config * @package io.shinhanlife.dap.common.mcp.config
* @className CacheConfig * @className CacheConfig
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.mcp.config; package io.shinhanlife.dap.common.mcp.config;
import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
@@ -8,7 +8,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
/** /**
* @package io.shinhanlife.axhub.common.mcp.config * @package io.shinhanlife.dap.common.mcp.config
* @className JacksonConfig * @className JacksonConfig
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.mcp.config; package io.shinhanlife.dap.common.mcp.config;
import org.apache.kafka.clients.producer.ProducerConfig; import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.common.serialization.StringSerializer; import org.apache.kafka.common.serialization.StringSerializer;
@@ -13,7 +13,7 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
* @package io.shinhanlife.axhub.common.mcp.config * @package io.shinhanlife.dap.common.mcp.config
* @className KafkaLocalConfig * @className KafkaLocalConfig
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.mcp.config; package io.shinhanlife.dap.common.mcp.config;
import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.OpenAPI;
@@ -9,7 +9,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
/** /**
* @package io.shinhanlife.axhub.common.mcp.config * @package io.shinhanlife.dap.common.mcp.config
* @className SwaggerConfig * @className SwaggerConfig
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.mcp.config; package io.shinhanlife.dap.common.mcp.config;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@@ -6,10 +6,10 @@ import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.CorsRegistry;
import io.shinhanlife.axhub.common.mcp.security.ApiKeyInterceptor; import io.shinhanlife.dap.common.mcp.security.ApiKeyInterceptor;
/** /**
* @package io.shinhanlife.axhub.common.mcp.config * @package io.shinhanlife.dap.common.mcp.config
* @className WebConfig * @className WebConfig
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,7 +1,7 @@
package io.shinhanlife.axhub.common.mcp.exception; package io.shinhanlife.dap.common.mcp.exception;
import io.shinhanlife.axhub.biz.mcp.adapter.dto.ErrorDetail; import io.shinhanlife.dap.biz.mcp.adapter.dto.ErrorDetail;
import io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcResponse; import io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.mcp.filter; package io.shinhanlife.dap.common.mcp.filter;
import jakarta.servlet.FilterChain; import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
@@ -12,7 +12,7 @@ import java.io.IOException;
import java.util.UUID; import java.util.UUID;
/** /**
* @package io.shinhanlife.axhub.common.mcp.filter * @package io.shinhanlife.dap.common.mcp.filter
* @className MdcLoggingFilter * @className MdcLoggingFilter
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.mcp.security; package io.shinhanlife.dap.common.mcp.security;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@@ -11,7 +11,7 @@ import org.springframework.web.servlet.HandlerInterceptor;
import java.util.Map; import java.util.Map;
/** /**
* @package io.shinhanlife.axhub.common.mcp.security * @package io.shinhanlife.dap.common.mcp.security
* @className ApiKeyInterceptor * @className ApiKeyInterceptor
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.mcp.security; package io.shinhanlife.dap.common.mcp.security;
import lombok.Data; import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -14,7 +14,7 @@ import java.util.Map;
* Map 자료구조로 자동 바인딩(주입) 받기 위한 설정 클래스입니다. * Map 자료구조로 자동 바인딩(주입) 받기 위한 설정 클래스입니다.
*/ */
/** /**
* @package io.shinhanlife.axhub.common.mcp.security * @package io.shinhanlife.dap.common.mcp.security
* @className SecurityProperties * @className SecurityProperties
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,12 +1,12 @@
package io.shinhanlife.axhub.common.session.converter; package io.shinhanlife.dap.common.session.converter;
import io.shinhanlife.axhub.common.session.dto.SessionDto; import io.shinhanlife.dap.common.session.dto.SessionDto;
import io.shinhanlife.axhub.common.session.dto.ZtUsacOutDto; import io.shinhanlife.dap.common.session.dto.ZtUsacOutDto;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
/** /**
* @package io.shinhanlife.axhub.common.session.converter * @package io.shinhanlife.dap.common.session.converter
* @className ZtUsacConverter * @className ZtUsacConverter
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.session.domain.model; package io.shinhanlife.dap.common.session.domain.model;
import io.shinhanlife.glow.db.dto.AuditInfo; import io.shinhanlife.glow.db.dto.AuditInfo;
import lombok.AccessLevel; import lombok.AccessLevel;
@@ -8,7 +8,7 @@ import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
/** /**
* @package io.shinhanlife.axhub.common.session.domain.model * @package io.shinhanlife.dap.common.session.domain.model
* @className ZtUsacModel * @className ZtUsacModel
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,12 +1,12 @@
package io.shinhanlife.axhub.common.session.domain.repository; package io.shinhanlife.dap.common.session.domain.repository;
import io.shinhanlife.glow.GlowMybatisMapper; import io.shinhanlife.glow.GlowMybatisMapper;
import io.shinhanlife.axhub.common.session.dto.ZtUsacInDto; import io.shinhanlife.dap.common.session.dto.ZtUsacInDto;
import io.shinhanlife.axhub.common.session.dto.ZtUsacOutDto; import io.shinhanlife.dap.common.session.dto.ZtUsacOutDto;
/** /**
* @package io.shinhanlife.axhub.common.session.domain.repository * @package io.shinhanlife.dap.common.session.domain.repository
* @className ZtUsacRepository * @className ZtUsacRepository
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,10 +1,10 @@
package io.shinhanlife.axhub.common.session.domain.service; package io.shinhanlife.dap.common.session.domain.service;
import io.shinhanlife.axhub.common.session.dto.ZtUsacInDto; import io.shinhanlife.dap.common.session.dto.ZtUsacInDto;
import io.shinhanlife.axhub.common.session.dto.ZtUsacOutDto; import io.shinhanlife.dap.common.session.dto.ZtUsacOutDto;
/** /**
* @package io.shinhanlife.axhub.common.session.domain.service * @package io.shinhanlife.dap.common.session.domain.service
* @className ZtUsacService * @className ZtUsacService
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,14 +1,14 @@
package io.shinhanlife.axhub.common.session.domain.service.impl; package io.shinhanlife.dap.common.session.domain.service.impl;
import io.shinhanlife.axhub.common.session.domain.repository.ZtUsacRepository; import io.shinhanlife.dap.common.session.domain.repository.ZtUsacRepository;
import io.shinhanlife.axhub.common.session.domain.service.ZtUsacService; import io.shinhanlife.dap.common.session.domain.service.ZtUsacService;
import io.shinhanlife.axhub.common.session.dto.ZtUsacInDto; import io.shinhanlife.dap.common.session.dto.ZtUsacInDto;
import io.shinhanlife.axhub.common.session.dto.ZtUsacOutDto; import io.shinhanlife.dap.common.session.dto.ZtUsacOutDto;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
* @package io.shinhanlife.axhub.common.session.domain.service.impl * @package io.shinhanlife.dap.common.session.domain.service.impl
* @className ZtUsacServiceImpl * @className ZtUsacServiceImpl
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.session.dto; package io.shinhanlife.dap.common.session.dto;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@@ -11,7 +11,7 @@ import lombok.Getter;
import lombok.Setter; import lombok.Setter;
/** /**
* @package io.shinhanlife.axhub.common.session.dto * @package io.shinhanlife.dap.common.session.dto
* @className SessionDto * @className SessionDto
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.session.dto; package io.shinhanlife.dap.common.session.dto;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@@ -8,7 +8,7 @@ import lombok.Getter;
import lombok.Setter; import lombok.Setter;
/** /**
* @package io.shinhanlife.axhub.common.session.dto * @package io.shinhanlife.dap.common.session.dto
* @className ZtUsacInDto * @className ZtUsacInDto
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.session.dto; package io.shinhanlife.dap.common.session.dto;
import lombok.Setter; import lombok.Setter;
@@ -12,7 +12,7 @@ import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
/** /**
* @package io.shinhanlife.axhub.common.session.dto * @package io.shinhanlife.dap.common.session.dto
* @className ZtUsacOutDto * @className ZtUsacOutDto
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,16 +1,16 @@
package io.shinhanlife.axhub.common.session.presentation; package io.shinhanlife.dap.common.session.presentation;
import io.micrometer.common.util.StringUtils; import io.micrometer.common.util.StringUtils;
import io.shinhanlife.glow.BaseResponse; import io.shinhanlife.glow.BaseResponse;
import io.shinhanlife.glow.BizException; import io.shinhanlife.glow.BizException;
import io.shinhanlife.glow.GlowControllerId; import io.shinhanlife.glow.GlowControllerId;
import io.shinhanlife.glow.ResponseUtil; import io.shinhanlife.glow.ResponseUtil;
import io.shinhanlife.axhub.common.session.converter.ZtUsacConverter; import io.shinhanlife.dap.common.session.converter.ZtUsacConverter;
import io.shinhanlife.axhub.common.session.domain.service.ZtUsacService; import io.shinhanlife.dap.common.session.domain.service.ZtUsacService;
import io.shinhanlife.axhub.common.session.dto.SessionDto; import io.shinhanlife.dap.common.session.dto.SessionDto;
import io.shinhanlife.axhub.common.session.dto.ZtUsacInDto; import io.shinhanlife.dap.common.session.dto.ZtUsacInDto;
import io.shinhanlife.axhub.common.session.dto.ZtUsacOutDto; import io.shinhanlife.dap.common.session.dto.ZtUsacOutDto;
import io.shinhanlife.axhub.common.session.presentation.io.SsoResponse; import io.shinhanlife.dap.common.session.presentation.io.SsoResponse;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession; import jakarta.servlet.http.HttpSession;
@@ -26,7 +26,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.Objects; import java.util.Objects;
/** /**
* @package io.shinhanlife.axhub.common.session.presentation * @package io.shinhanlife.dap.common.session.presentation
* @className SsoRestController * @className SsoRestController
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,6 +1,6 @@
package io.shinhanlife.axhub.common.session.presentation.io; package io.shinhanlife.dap.common.session.presentation.io;
import io.shinhanlife.axhub.common.session.dto.SessionDto; import io.shinhanlife.dap.common.session.dto.SessionDto;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
@@ -8,7 +8,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
/** /**
* @package io.shinhanlife.axhub.common.session.presentation.io * @package io.shinhanlife.dap.common.session.presentation.io
* @className SsoResponse * @className SsoResponse
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.util; package io.shinhanlife.dap.common.util;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
@@ -85,7 +85,7 @@ public class PodScaffolder {
Files.createDirectories(srcPath); Files.createDirectories(srcPath);
String appClass = """ String appClass = """
package io.shinhanlife.axhub.biz.mcp.tool.%s; package io.shinhanlife.dap.biz.mcp.tool.%s;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -93,7 +93,7 @@ public class PodScaffolder {
import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.annotation.EnableCaching;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.tool.%s * @package io.shinhanlife.dap.biz.mcp.tool.%s
* @className %sToolApplication * @className %sToolApplication
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author %s * @author %s
@@ -106,8 +106,8 @@ public class PodScaffolder {
* *
* </pre> * </pre>
*/ */
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.axhub.biz.mcp.tool", "io.shinhanlife.axhub.biz.mcp.adapter", "io.shinhanlife.axhub.common.mcp", "io.shinhanlife.axhub.common.config"}) @SpringBootApplication(scanBasePackages = {"io.shinhanlife.dap.biz.mcp.tool", "io.shinhanlife.dap.biz.mcp.adapter", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.axhub.biz.mcp.tool", "io.shinhanlife.axhub.biz.mcp.adapter", "io.shinhanlife.axhub.common.mcp", "io.shinhanlife.axhub.common.config"}) @ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.dap.biz.mcp.tool", "io.shinhanlife.dap.biz.mcp.adapter", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
@EnableCaching @EnableCaching
public class %sToolApplication { public class %sToolApplication {
public static void main(String[] args) { public static void main(String[] args) {

View File

@@ -1,12 +1,12 @@
package io.shinhanlife.axhub.common.util; package io.shinhanlife.dap.common.util;
import io.shinhanlife.axhub.common.session.dto.SessionDto; import io.shinhanlife.dap.common.session.dto.SessionDto;
import jakarta.servlet.http.HttpSession; import jakarta.servlet.http.HttpSession;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
/** /**
* @package io.shinhanlife.axhub.common.util * @package io.shinhanlife.dap.common.util
* @className SessionUtil * @className SessionUtil
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.util; package io.shinhanlife.dap.common.util;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
@@ -18,10 +18,10 @@ import java.util.Scanner;
* *
* 방법 2. 커맨드라인(터미널)에서 실행 (명령어 기반) * 방법 2. 커맨드라인(터미널)에서 실행 (명령어 기반)
* - 컴파일: javac -encoding UTF-8 axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/util/ToolScaffolder.java * - 컴파일: javac -encoding UTF-8 axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/util/ToolScaffolder.java
* - 실행: java -cp axhub-tool-core/src/main/java io.shinhanlife.axhub.biz.mcp.tool.util.ToolScaffolder [이름] [ID] "[설명]" "[그룹]" "[통신방식]" "[모듈명]" * - 실행: java -cp axhub-tool-core/src/main/java io.shinhanlife.dap.biz.mcp.tool.util.ToolScaffolder [이름] [ID] "[설명]" "[그룹]" "[통신방식]" "[모듈명]"
*/ */
/** /**
* @package io.shinhanlife.axhub.biz.mcp.tool.util * @package io.shinhanlife.dap.biz.mcp.tool.util
* @className ToolScaffolder * @className ToolScaffolder
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식
@@ -36,7 +36,7 @@ import java.util.Scanner;
*/ */
public class ToolScaffolder { public class ToolScaffolder {
private static final String BASE_PACKAGE = "io.shinhanlife.axhub.biz.mcp.tool"; private static final String BASE_PACKAGE = "io.shinhanlife.dap.biz.mcp.tool";
private static final String BASE_PACKAGE_PATH = "src/main/java/io/shinhanlife/axhub/biz/mcp/tool"; private static final String BASE_PACKAGE_PATH = "src/main/java/io/shinhanlife/axhub/biz/mcp/tool";
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.common.util; package io.shinhanlife.dap.common.util;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;

View File

@@ -3,15 +3,15 @@ WORKDIR /app
COPY gradlew . COPY gradlew .
COPY gradle gradle COPY gradle gradle
COPY build.gradle settings.gradle ./ COPY build.gradle settings.gradle ./
COPY axhub-common axhub-common COPY dap-common dap-common
COPY axhub-gateway axhub-gateway COPY dap-gateway dap-gateway
RUN chmod +x gradlew RUN chmod +x gradlew
RUN ./gradlew :axhub-gateway:build -x test RUN ./gradlew :dap-gateway:build -x test
FROM eclipse-temurin:21-jre-alpine FROM eclipse-temurin:21-jre-alpine
WORKDIR /app WORKDIR /app
RUN apk add --no-cache tzdata RUN apk add --no-cache tzdata
ENV TZ=Asia/Seoul ENV TZ=Asia/Seoul
COPY --from=builder /app/axhub-gateway/build/libs/*-SNAPSHOT.jar app.jar COPY --from=builder /app/dap-gateway/build/libs/*-SNAPSHOT.jar app.jar
EXPOSE 8081 EXPOSE 8081
ENTRYPOINT ["java", "-jar", "app.jar"] ENTRYPOINT ["java", "-jar", "app.jar"]

View File

@@ -3,7 +3,7 @@ plugins {
} }
dependencies { dependencies {
implementation project(':axhub-common') implementation project(':dap-common')
implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-redis' implementation 'org.springframework.boot:spring-boot-starter-data-redis'

View File

@@ -1,12 +1,12 @@
package io.shinhanlife.axhub.biz.mcp.gateway; package io.shinhanlife.dap.biz.mcp.gateway;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan; import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.annotation.EnableCaching;
@SpringBootApplication(scanBasePackages = {"io.shinhanlife.axhub.biz.mcp.gateway", "io.shinhanlife.axhub.common.mcp", "io.shinhanlife.axhub.common.config"}) @SpringBootApplication(scanBasePackages = {"io.shinhanlife.dap.biz.mcp.gateway", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
@ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.axhub.biz.mcp.gateway", "io.shinhanlife.axhub.common.mcp", "io.shinhanlife.axhub.common.config"}) @ConfigurationPropertiesScan(basePackages = {"io.shinhanlife.dap.biz.mcp.gateway", "io.shinhanlife.dap.common.mcp", "io.shinhanlife.dap.common.config"})
@EnableCaching @EnableCaching
public class AxHubGatewayApplication { public class AxHubGatewayApplication {
public static void main(String[] args) { public static void main(String[] args) {

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.aop; package io.shinhanlife.dap.biz.mcp.gateway.aop;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
@@ -8,7 +8,7 @@ import org.springframework.stereotype.Component;
import org.springframework.util.StopWatch; import org.springframework.util.StopWatch;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.gateway.aop * @package io.shinhanlife.dap.biz.mcp.gateway.aop
* @className GatewayLoggingAspect * @className GatewayLoggingAspect
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식
@@ -27,7 +27,7 @@ import org.springframework.util.StopWatch;
public class GatewayLoggingAspect { public class GatewayLoggingAspect {
// gateway의 controller 패키지 하위의 모든 클래스/메서드 실행 작동 // gateway의 controller 패키지 하위의 모든 클래스/메서드 실행 작동
@Around("execution(* io.shinhanlife.axhub.biz.mcp.gateway.presentation..*(..))") @Around("execution(* io.shinhanlife.dap.biz.mcp.gateway.presentation..*(..))")
public Object logGatewayExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable { public Object logGatewayExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable {
String targetMethod = joinPoint.getSignature().toShortString(); String targetMethod = joinPoint.getSignature().toShortString();
StopWatch stopWatch = new StopWatch(); StopWatch stopWatch = new StopWatch();

View File

@@ -1,8 +1,8 @@
package io.shinhanlife.axhub.biz.mcp.gateway.audit; package io.shinhanlife.dap.biz.mcp.gateway.audit;
import io.shinhanlife.axhub.biz.mcp.gateway.config.McpGatewayProperties; import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
import io.shinhanlife.axhub.biz.mcp.gateway.guardrail.SensitiveDataMasker; import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker;
import io.shinhanlife.axhub.biz.mcp.gateway.security.McpRequestContext; import io.shinhanlife.dap.biz.mcp.gateway.security.McpRequestContext;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.config; package io.shinhanlife.dap.biz.mcp.gateway.config;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.config; package io.shinhanlife.dap.biz.mcp.gateway.config;
import lombok.Data; import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -8,7 +8,7 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.gateway.config * @package io.shinhanlife.dap.biz.mcp.gateway.config
* @className GatewayFallbackProperties * @className GatewayFallbackProperties
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.config; package io.shinhanlife.dap.biz.mcp.gateway.config;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -1,6 +1,6 @@
package io.shinhanlife.axhub.biz.mcp.gateway.config; package io.shinhanlife.dap.biz.mcp.gateway.config;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.connection.RedisConnectionFactory;
@@ -10,7 +10,7 @@ import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.gateway.config * @package io.shinhanlife.dap.biz.mcp.gateway.config
* @className RedisConfig * @className RedisConfig
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,7 +1,7 @@
package io.shinhanlife.axhub.biz.mcp.gateway.dto; package io.shinhanlife.dap.biz.mcp.gateway.dto;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.gateway.dto * @package io.shinhanlife.dap.biz.mcp.gateway.dto
* @className OperationType * @className OperationType
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.dto; package io.shinhanlife.dap.biz.mcp.gateway.dto;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -17,7 +17,7 @@ import java.util.HashSet;
* Redis 레지스트리에 저장되며, Planner와 Router 간의 통신 객체(Plan) 사용됩니다. * Redis 레지스트리에 저장되며, Planner와 Router 간의 통신 객체(Plan) 사용됩니다.
*/ */
/** /**
* @package io.shinhanlife.axhub.biz.mcp.gateway.dto * @package io.shinhanlife.dap.biz.mcp.gateway.dto
* @className ToolMetadata * @className ToolMetadata
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,8 +1,8 @@
package io.shinhanlife.axhub.biz.mcp.gateway.guardrail; package io.shinhanlife.dap.biz.mcp.gateway.guardrail;
import io.shinhanlife.axhub.biz.mcp.gateway.resilience.FailureType; import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType;
import io.shinhanlife.axhub.biz.mcp.gateway.resilience.ToolExecutionException; import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.ObjectNode;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.guardrail; package io.shinhanlife.dap.biz.mcp.gateway.guardrail;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;

View File

@@ -1,8 +1,8 @@
package io.shinhanlife.axhub.biz.mcp.gateway.guardrail; package io.shinhanlife.dap.biz.mcp.gateway.guardrail;
import io.shinhanlife.axhub.biz.mcp.gateway.resilience.FailureType; import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType;
import io.shinhanlife.axhub.biz.mcp.gateway.resilience.ToolExecutionException; import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.messaging; package io.shinhanlife.dap.biz.mcp.gateway.messaging;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -10,7 +10,7 @@ import java.util.Map;
import java.util.UUID; import java.util.UUID;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.gateway.messaging * @package io.shinhanlife.dap.biz.mcp.gateway.messaging
* @className KafkaProducerService * @className KafkaProducerService
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,8 +1,8 @@
package io.shinhanlife.axhub.biz.mcp.gateway.presentation; package io.shinhanlife.dap.biz.mcp.gateway.presentation;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import io.shinhanlife.axhub.biz.mcp.gateway.registry.RedisRegistryService; import io.shinhanlife.dap.biz.mcp.gateway.registry.RedisRegistryService;
import io.shinhanlife.axhub.biz.mcp.gateway.service.ExecuteService; import io.shinhanlife.dap.biz.mcp.gateway.service.ExecuteService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.ai.chat.client.ChatClient; import org.springframework.ai.chat.client.ChatClient;

View File

@@ -1,6 +1,6 @@
package io.shinhanlife.axhub.biz.mcp.gateway.presentation; package io.shinhanlife.dap.biz.mcp.gateway.presentation;
import io.shinhanlife.axhub.biz.mcp.gateway.service.KillSwitchService; import io.shinhanlife.dap.biz.mcp.gateway.service.KillSwitchService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.Map; import java.util.Map;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.gateway.presentation * @package io.shinhanlife.dap.biz.mcp.gateway.presentation
* @className KillSwitchController * @className KillSwitchController
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,14 +1,14 @@
package io.shinhanlife.axhub.biz.mcp.gateway.presentation; package io.shinhanlife.dap.biz.mcp.gateway.presentation;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcRequest; import io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcRequest;
import io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcResponse; import io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcResponse;
import io.shinhanlife.axhub.biz.mcp.adapter.dto.Params; import io.shinhanlife.dap.biz.mcp.adapter.dto.Params;
import io.shinhanlife.axhub.biz.mcp.gateway.config.GatewayFallbackProperties; import io.shinhanlife.dap.biz.mcp.gateway.config.GatewayFallbackProperties;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import io.shinhanlife.axhub.biz.mcp.gateway.registry.RedisRegistryService; import io.shinhanlife.dap.biz.mcp.gateway.registry.RedisRegistryService;
import io.shinhanlife.axhub.biz.mcp.gateway.service.ExecuteService; import io.shinhanlife.dap.biz.mcp.gateway.service.ExecuteService;
import io.shinhanlife.axhub.common.mcp.security.SecurityProperties; import io.shinhanlife.dap.common.mcp.security.SecurityProperties;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -76,7 +76,7 @@ public class McpRouterController {
try { try {
Object result = executeService.execute(payload, effectiveTenantId); Object result = executeService.execute(payload, effectiveTenantId);
io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcResponse response = new io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcResponse(); io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcResponse response = new io.shinhanlife.dap.biz.mcp.adapter.dto.JsonRpcResponse();
response.setJsonrpc("2.0"); response.setJsonrpc("2.0");
response.setId(payload.containsKey("id") ? String.valueOf(payload.get("id")) : UUID.randomUUID().toString()); response.setId(payload.containsKey("id") ? String.valueOf(payload.get("id")) : UUID.randomUUID().toString());
response.setResult(result); response.setResult(result);

View File

@@ -1,8 +1,8 @@
package io.shinhanlife.axhub.biz.mcp.gateway.presentation; package io.shinhanlife.dap.biz.mcp.gateway.presentation;
import io.shinhanlife.axhub.common.util.PodScaffolder; import io.shinhanlife.dap.common.util.PodScaffolder;
import io.shinhanlife.axhub.common.util.ToolScaffolder; import io.shinhanlife.dap.common.util.ToolScaffolder;
import io.shinhanlife.axhub.common.util.ToolSourceUpdater; import io.shinhanlife.dap.common.util.ToolSourceUpdater;
import java.io.File; import java.io.File;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.redis; package io.shinhanlife.dap.biz.mcp.gateway.redis;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

View File

@@ -1,9 +1,9 @@
package io.shinhanlife.axhub.biz.mcp.gateway.redis; package io.shinhanlife.dap.biz.mcp.gateway.redis;
import io.shinhanlife.axhub.biz.mcp.gateway.config.McpGatewayProperties; import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
import io.shinhanlife.axhub.biz.mcp.gateway.guardrail.SensitiveDataMasker; import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker;
import io.shinhanlife.axhub.biz.mcp.gateway.security.McpRequestContext; import io.shinhanlife.dap.biz.mcp.gateway.security.McpRequestContext;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.ObjectProvider;

View File

@@ -1,6 +1,6 @@
package io.shinhanlife.axhub.biz.mcp.gateway.registry; package io.shinhanlife.dap.biz.mcp.gateway.registry;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
@@ -13,7 +13,7 @@ import java.util.stream.Collectors;
import java.util.Objects; import java.util.Objects;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.gateway.registry * @package io.shinhanlife.dap.biz.mcp.gateway.registry
* @className RedisRegistryService * @className RedisRegistryService
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.resilience; package io.shinhanlife.dap.biz.mcp.gateway.resilience;
import java.time.Clock; import java.time.Clock;
import java.time.Instant; import java.time.Instant;

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.resilience; package io.shinhanlife.dap.biz.mcp.gateway.resilience;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;

View File

@@ -1,6 +1,6 @@
package io.shinhanlife.axhub.biz.mcp.gateway.resilience; package io.shinhanlife.dap.biz.mcp.gateway.resilience;
import io.shinhanlife.axhub.biz.mcp.gateway.config.McpGatewayProperties; import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.Clock; import java.time.Clock;

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.resilience; package io.shinhanlife.dap.biz.mcp.gateway.resilience;
/** /**
* MCP Monitor 화면에 내려주는 Circuit Breaker 상태 정보입니다. * MCP Monitor 화면에 내려주는 Circuit Breaker 상태 정보입니다.

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.resilience; package io.shinhanlife.dap.biz.mcp.gateway.resilience;
/** /**
* Circuit Breaker의 현재 상태입니다. * Circuit Breaker의 현재 상태입니다.

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.resilience; package io.shinhanlife.dap.biz.mcp.gateway.resilience;
/** /**
* Tool/EIMS/Tool 서버 호출 실패를 업무적으로 구분하기 위한 장애 유형입니다. * Tool/EIMS/Tool 서버 호출 실패를 업무적으로 구분하기 위한 장애 유형입니다.

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.resilience; package io.shinhanlife.dap.biz.mcp.gateway.resilience;
/** /**
* Tool 호출 재시도 정책입니다. * Tool 호출 재시도 정책입니다.

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.resilience; package io.shinhanlife.dap.biz.mcp.gateway.resilience;
/** /**
* Tool 실행 발생한 오류를 FailureType과 함께 전달하는 공통 예외입니다. * Tool 실행 발생한 오류를 FailureType과 함께 전달하는 공통 예외입니다.

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.security; package io.shinhanlife.dap.biz.mcp.gateway.security;
import java.util.Set; import java.util.Set;

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.security; package io.shinhanlife.dap.biz.mcp.gateway.security;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -1,10 +1,10 @@
package io.shinhanlife.axhub.biz.mcp.gateway.security; package io.shinhanlife.dap.biz.mcp.gateway.security;
import io.shinhanlife.axhub.biz.mcp.gateway.config.McpGatewayProperties; import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
import io.shinhanlife.axhub.biz.mcp.gateway.resilience.FailureType; import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType;
import io.shinhanlife.axhub.biz.mcp.gateway.resilience.ToolExecutionException; import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.OperationType; import io.shinhanlife.dap.biz.mcp.gateway.dto.OperationType;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Set; import java.util.Set;

View File

@@ -1,20 +1,20 @@
package io.shinhanlife.axhub.biz.mcp.gateway.service; package io.shinhanlife.dap.biz.mcp.gateway.service;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import io.shinhanlife.axhub.biz.mcp.gateway.resilience.FailureType; import io.shinhanlife.dap.biz.mcp.gateway.resilience.FailureType;
import io.shinhanlife.axhub.biz.mcp.gateway.resilience.RetryPolicy; import io.shinhanlife.dap.biz.mcp.gateway.resilience.RetryPolicy;
import io.shinhanlife.axhub.biz.mcp.gateway.resilience.ToolExecutionException; import io.shinhanlife.dap.biz.mcp.gateway.resilience.ToolExecutionException;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.OperationType; import io.shinhanlife.dap.biz.mcp.gateway.dto.OperationType;
import io.shinhanlife.axhub.biz.mcp.gateway.config.McpGatewayProperties; import io.shinhanlife.dap.biz.mcp.gateway.config.McpGatewayProperties;
import io.shinhanlife.axhub.biz.mcp.gateway.guardrail.SensitiveDataMasker; import io.shinhanlife.dap.biz.mcp.gateway.guardrail.SensitiveDataMasker;
import io.shinhanlife.axhub.biz.mcp.gateway.guardrail.GuardrailService; import io.shinhanlife.dap.biz.mcp.gateway.guardrail.GuardrailService;
import io.shinhanlife.axhub.biz.mcp.gateway.security.McpRequestContext; import io.shinhanlife.dap.biz.mcp.gateway.security.McpRequestContext;
import io.shinhanlife.axhub.biz.mcp.gateway.security.McpRequestContextResolver; import io.shinhanlife.dap.biz.mcp.gateway.security.McpRequestContextResolver;
import io.shinhanlife.axhub.biz.mcp.gateway.audit.AuditLogService; import io.shinhanlife.dap.biz.mcp.gateway.audit.AuditLogService;
import io.shinhanlife.axhub.biz.mcp.gateway.resilience.CircuitBreaker; import io.shinhanlife.dap.biz.mcp.gateway.resilience.CircuitBreaker;
import io.shinhanlife.axhub.biz.mcp.gateway.resilience.CircuitBreakerService; import io.shinhanlife.dap.biz.mcp.gateway.resilience.CircuitBreakerService;
import io.shinhanlife.axhub.biz.mcp.gateway.security.ToolAuthorizationService; import io.shinhanlife.dap.biz.mcp.gateway.security.ToolAuthorizationService;
import io.shinhanlife.axhub.biz.mcp.gateway.redis.RedisToolTraceService; import io.shinhanlife.dap.biz.mcp.gateway.redis.RedisToolTraceService;
import jakarta.annotation.PreDestroy; import jakarta.annotation.PreDestroy;
import java.util.Map; import java.util.Map;
@@ -27,12 +27,12 @@ import org.springframework.web.client.RestClient;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.ObjectNode;
import io.shinhanlife.axhub.biz.mcp.gateway.tool.large.LargeToolResponseService; import io.shinhanlife.dap.biz.mcp.gateway.tool.large.LargeToolResponseService;
import io.shinhanlife.axhub.biz.mcp.gateway.tool.large.PaginationRequestValidator; import io.shinhanlife.dap.biz.mcp.gateway.tool.large.PaginationRequestValidator;
import io.shinhanlife.axhub.biz.mcp.gateway.tool.result.ToolExecutionResultFormatter; import io.shinhanlife.dap.biz.mcp.gateway.tool.result.ToolExecutionResultFormatter;
import io.shinhanlife.axhub.biz.mcp.gateway.tool.result.ToolExecutionResult; import io.shinhanlife.dap.biz.mcp.gateway.tool.result.ToolExecutionResult;
import io.shinhanlife.axhub.biz.mcp.gateway.guardrail.ToolResponseGuardrailService; import io.shinhanlife.dap.biz.mcp.gateway.guardrail.ToolResponseGuardrailService;
import io.shinhanlife.axhub.biz.mcp.gateway.transport.ToolInvoker; import io.shinhanlife.dap.biz.mcp.gateway.transport.ToolInvoker;
@Slf4j @Slf4j
@Service @Service

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.service; package io.shinhanlife.dap.biz.mcp.gateway.service;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -6,7 +6,7 @@ import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.gateway.service * @package io.shinhanlife.dap.biz.mcp.gateway.service
* @className KillSwitchService * @className KillSwitchService
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,9 +1,9 @@
package io.shinhanlife.axhub.biz.mcp.gateway.service; package io.shinhanlife.dap.biz.mcp.gateway.service;
import io.shinhanlife.axhub.common.mcp.security.SecurityProperties; import io.shinhanlife.dap.common.mcp.security.SecurityProperties;
import io.shinhanlife.axhub.biz.mcp.gateway.registry.RedisRegistryService; import io.shinhanlife.dap.biz.mcp.gateway.registry.RedisRegistryService;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import io.shinhanlife.axhub.biz.mcp.gateway.config.GatewayFallbackProperties; import io.shinhanlife.dap.biz.mcp.gateway.config.GatewayFallbackProperties;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -12,7 +12,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* @package io.shinhanlife.axhub.biz.mcp.gateway.service * @package io.shinhanlife.dap.biz.mcp.gateway.service
* @className ToolPlanner * @className ToolPlanner
* @description AX HUB 시스템 처리 클래스 * @description AX HUB 시스템 처리 클래스
* @author 김형식 * @author 김형식

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.sync; package io.shinhanlife.dap.biz.mcp.gateway.sync;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import io.modelcontextprotocol.json.TypeRef; import io.modelcontextprotocol.json.TypeRef;

View File

@@ -1,4 +1,4 @@
package io.shinhanlife.axhub.biz.mcp.gateway.sync; package io.shinhanlife.dap.biz.mcp.gateway.sync;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;

View File

@@ -1,8 +1,8 @@
package io.shinhanlife.axhub.biz.mcp.gateway.sync; package io.shinhanlife.dap.biz.mcp.gateway.sync;
import io.modelcontextprotocol.server.McpServer; import io.modelcontextprotocol.server.McpServer;
import io.modelcontextprotocol.server.McpSyncServer; import io.modelcontextprotocol.server.McpSyncServer;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@@ -1,10 +1,10 @@
package io.shinhanlife.axhub.biz.mcp.gateway.sync; package io.shinhanlife.dap.biz.mcp.gateway.sync;
import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.dap.biz.mcp.gateway.dto.ToolMetadata;
import io.shinhanlife.axhub.biz.mcp.gateway.service.ExecuteService; import io.shinhanlife.dap.biz.mcp.gateway.service.ExecuteService;
import io.modelcontextprotocol.server.McpServerFeatures; import io.modelcontextprotocol.server.McpServerFeatures;
import io.modelcontextprotocol.spec.McpSchema; import io.modelcontextprotocol.spec.McpSchema;
import io.shinhanlife.axhub.biz.mcp.gateway.tool.result.ToolExecutionResult; import io.shinhanlife.dap.biz.mcp.gateway.tool.result.ToolExecutionResult;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;

Some files were not shown because too many files have changed in this diff Show More