From af3822ed9d27b7dee901d6ff547ca71c97d396a7 Mon Sep 17 00:00:00 2001 From: jade Date: Sat, 4 Jul 2026 02:14:12 +0900 Subject: [PATCH] refactor: Move DTOs to common module for AI Agent SDK sharing --- refactor.py | 30 +++++++++++++++++++ .../adapter/support/ToolExecutionService.java | 8 ++--- .../biz/mcp/gateway/client/ToolClient.java | 8 ++--- .../biz/mcp/gateway/config/RedisConfig.java | 2 +- .../controller/McpRouterController.java | 8 ++--- .../registry/RedisRegistryService.java | 2 +- .../biz/mcp/gateway/router/ToolRouter.java | 2 +- .../mcp/gateway/service/ExecuteService.java | 4 +-- .../tool/registry/MockToolAutoRegistrar.java | 2 +- .../tool/service/BillingProcessService.java | 4 +-- .../mcp/tool/service/BondIssueService.java | 4 +-- .../tool/service/CommonUtilityService.java | 8 ++--- .../tool/service/ContractInquiryService.java | 4 +-- .../mcp/tool/service/CustomerInfoService.java | 4 +-- .../biz/mcp/tool/util/ToolScaffolder.java | 19 ++++++------ .../mcp/adapter/dto/ErrorDetail.java | 2 +- .../mcp/adapter/dto/JsonRpcRequest.java | 2 +- .../mcp/adapter/dto/JsonRpcResponse.java | 2 +- .../mcp/adapter/dto/Params.java | 2 +- .../mcp/exception/GlobalExceptionHandler.java | 4 +-- .../mcp/gateway/dto/ToolMetadata.java | 2 +- .../mcp/tool/dto/BillingProcessReq.java | 2 +- .../mcp/tool/dto/BillingStatusReq.java | 2 +- .../mcp/tool/dto/BondCheckReq.java | 2 +- .../mcp/tool/dto/BondIssueReq.java | 2 +- .../mcp/tool/dto/ContractDetailReq.java | 2 +- .../mcp/tool/dto/ContractStatusReq.java | 2 +- .../mcp/tool/dto/CustomerDetailReq.java | 2 +- .../mcp/tool/dto/CustomerGradeReq.java | 2 +- .../mcp/tool/dto/EmailSendReq.java | 2 +- .../mcp/tool/dto/LeaveCountReq.java | 2 +- .../mcp/tool/dto/SmsSendReq.java | 2 +- .../mcp/tool/dto/VacationRegisterReq.java | 2 +- 33 files changed, 89 insertions(+), 58 deletions(-) create mode 100644 refactor.py rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/adapter/dto/ErrorDetail.java (78%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/adapter/dto/JsonRpcRequest.java (78%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/adapter/dto/JsonRpcResponse.java (86%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/adapter/dto/Params.java (85%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/gateway/dto/ToolMetadata.java (97%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/BillingProcessReq.java (88%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/BillingStatusReq.java (84%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/BondCheckReq.java (85%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/BondIssueReq.java (88%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/ContractDetailReq.java (88%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/ContractStatusReq.java (87%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/CustomerDetailReq.java (87%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/CustomerGradeReq.java (88%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/EmailSendReq.java (90%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/LeaveCountReq.java (85%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/SmsSendReq.java (88%) rename src/main/java/io/shinhanlife/axhub/{biz => common}/mcp/tool/dto/VacationRegisterReq.java (88%) diff --git a/refactor.py b/refactor.py new file mode 100644 index 0000000..91ce53b --- /dev/null +++ b/refactor.py @@ -0,0 +1,30 @@ +import os + +project_root = r"C:\Users\Admin\.gemini\antigravity\scratch\axhub-backend-main" + +replacements = { + "package io.shinhanlife.axhub.biz.mcp.tool.dto;": "package io.shinhanlife.axhub.common.mcp.tool.dto;", + "package io.shinhanlife.axhub.biz.mcp.adapter.dto;": "package io.shinhanlife.axhub.common.mcp.adapter.dto;", + "package io.shinhanlife.axhub.biz.mcp.gateway.dto;": "package io.shinhanlife.axhub.common.mcp.gateway.dto;", + "import io.shinhanlife.axhub.biz.mcp.tool.dto": "import io.shinhanlife.axhub.common.mcp.tool.dto", + "import io.shinhanlife.axhub.biz.mcp.adapter.dto": "import io.shinhanlife.axhub.common.mcp.adapter.dto", + "import io.shinhanlife.axhub.biz.mcp.gateway.dto": "import io.shinhanlife.axhub.common.mcp.gateway.dto" +} + +for root, dirs, files in os.walk(project_root): + for file in files: + if file.endswith(".java"): + file_path = os.path.join(root, file) + with open(file_path, 'r', encoding='utf-8') as f: + content = f.read() + + modified = False + for old, new in replacements.items(): + if old in content: + content = content.replace(old, new) + modified = True + + if modified: + with open(file_path, 'w', encoding='utf-8') as f: + f.write(content) + print(f"Updated {file_path}") diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/support/ToolExecutionService.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/support/ToolExecutionService.java index 55637d6..1be7837 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/support/ToolExecutionService.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/support/ToolExecutionService.java @@ -1,10 +1,10 @@ package io.shinhanlife.axhub.biz.mcp.adapter.support; import io.shinhanlife.axhub.biz.mcp.adapter.connector.LegacyEimsConnector; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.ErrorDetail; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcRequest; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcResponse; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.Params; +import io.shinhanlife.axhub.common.mcp.adapter.dto.ErrorDetail; +import io.shinhanlife.axhub.common.mcp.adapter.dto.JsonRpcRequest; +import io.shinhanlife.axhub.common.mcp.adapter.dto.JsonRpcResponse; +import io.shinhanlife.axhub.common.mcp.adapter.dto.Params; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/client/ToolClient.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/client/ToolClient.java index 672c48d..b43a081 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/client/ToolClient.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/client/ToolClient.java @@ -3,11 +3,11 @@ package io.shinhanlife.axhub.biz.mcp.gateway.client; import com.fasterxml.jackson.databind.ObjectMapper; import io.shinhanlife.axhub.biz.mcp.adapter.connector.LegacyEimsConnector; import io.shinhanlife.axhub.biz.mcp.adapter.connector.ThirdPartySecurityConnector; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcRequest; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcResponse; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.Params; +import io.shinhanlife.axhub.common.mcp.adapter.dto.JsonRpcRequest; +import io.shinhanlife.axhub.common.mcp.adapter.dto.JsonRpcResponse; +import io.shinhanlife.axhub.common.mcp.adapter.dto.Params; import io.shinhanlife.axhub.biz.mcp.adapter.util.PiiMaskingUtils; -import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; +import io.shinhanlife.axhub.common.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.axhub.common.mcp.security.SecurityProperties; import io.shinhanlife.axhub.biz.mcp.gateway.messaging.KafkaProducerService; import io.github.resilience4j.circuitbreaker.CircuitBreaker; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/config/RedisConfig.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/config/RedisConfig.java index c480a9e..7464b82 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/config/RedisConfig.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/config/RedisConfig.java @@ -1,6 +1,6 @@ package io.shinhanlife.axhub.biz.mcp.gateway.config; -import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; +import io.shinhanlife.axhub.common.mcp.gateway.dto.ToolMetadata; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/controller/McpRouterController.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/controller/McpRouterController.java index d399eb0..38bbb8b 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/controller/McpRouterController.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/controller/McpRouterController.java @@ -3,11 +3,11 @@ package io.shinhanlife.axhub.biz.mcp.gateway.controller; import com.fasterxml.jackson.databind.ObjectMapper; import io.shinhanlife.axhub.biz.mcp.adapter.connector.LegacyEimsConnector; import io.shinhanlife.axhub.biz.mcp.adapter.connector.ThirdPartySecurityConnector; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcRequest; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcResponse; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.Params; +import io.shinhanlife.axhub.common.mcp.adapter.dto.JsonRpcRequest; +import io.shinhanlife.axhub.common.mcp.adapter.dto.JsonRpcResponse; +import io.shinhanlife.axhub.common.mcp.adapter.dto.Params; import io.shinhanlife.axhub.biz.mcp.adapter.util.PiiMaskingUtils; -import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; +import io.shinhanlife.axhub.common.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.axhub.biz.mcp.gateway.service.ExecuteService; import io.shinhanlife.axhub.biz.mcp.gateway.registry.RedisRegistryService; import io.shinhanlife.axhub.common.mcp.security.SecurityProperties; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/registry/RedisRegistryService.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/registry/RedisRegistryService.java index 7318eb7..bc24059 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/registry/RedisRegistryService.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/registry/RedisRegistryService.java @@ -1,6 +1,6 @@ package io.shinhanlife.axhub.biz.mcp.gateway.registry; -import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; +import io.shinhanlife.axhub.common.mcp.gateway.dto.ToolMetadata; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.data.redis.core.RedisTemplate; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/router/ToolRouter.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/router/ToolRouter.java index b38d2fe..94b5855 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/router/ToolRouter.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/router/ToolRouter.java @@ -1,6 +1,6 @@ package io.shinhanlife.axhub.biz.mcp.gateway.router; -import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; +import io.shinhanlife.axhub.common.mcp.gateway.dto.ToolMetadata; import io.shinhanlife.axhub.biz.mcp.gateway.registry.RedisRegistryService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/service/ExecuteService.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/service/ExecuteService.java index a86ffbf..e2e6a83 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/service/ExecuteService.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/service/ExecuteService.java @@ -1,6 +1,6 @@ package io.shinhanlife.axhub.biz.mcp.gateway.service; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.Params; +import io.shinhanlife.axhub.common.mcp.adapter.dto.Params; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -10,7 +10,7 @@ import io.shinhanlife.axhub.biz.mcp.gateway.router.ToolRouter; import io.shinhanlife.axhub.biz.mcp.gateway.router.ResponseAggregator; import io.shinhanlife.axhub.biz.mcp.gateway.client.ToolClient; import java.util.Map; -import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; +import io.shinhanlife.axhub.common.mcp.gateway.dto.ToolMetadata; @Slf4j @Service diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/registry/MockToolAutoRegistrar.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/registry/MockToolAutoRegistrar.java index a155457..81788c3 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/registry/MockToolAutoRegistrar.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/registry/MockToolAutoRegistrar.java @@ -2,7 +2,7 @@ package io.shinhanlife.axhub.biz.mcp.tool.registry; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpFunction; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpTool; -import io.shinhanlife.axhub.biz.mcp.gateway.dto.ToolMetadata; +import io.shinhanlife.axhub.common.mcp.gateway.dto.ToolMetadata; import com.fasterxml.jackson.databind.ObjectMapper; import io.shinhanlife.axhub.biz.mcp.tool.util.JsonSchemaGenerator; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/BillingProcessService.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/BillingProcessService.java index 06b1257..e98444e 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/BillingProcessService.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/BillingProcessService.java @@ -6,8 +6,8 @@ import java.util.Map; import java.util.HashMap; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.type.TypeReference; -import io.shinhanlife.axhub.biz.mcp.tool.dto.BillingStatusReq; -import io.shinhanlife.axhub.biz.mcp.tool.dto.BillingProcessReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.BillingStatusReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.BillingProcessReq; @McpTool( name = "billing_process_tool", diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/BondIssueService.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/BondIssueService.java index 279111f..545d40a 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/BondIssueService.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/BondIssueService.java @@ -2,8 +2,8 @@ package io.shinhanlife.axhub.biz.mcp.tool.service; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpFunction; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpTool; -import io.shinhanlife.axhub.biz.mcp.tool.dto.BondCheckReq; -import io.shinhanlife.axhub.biz.mcp.tool.dto.BondIssueReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.BondCheckReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.BondIssueReq; @McpTool( name = "bond_issue_tool", diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/CommonUtilityService.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/CommonUtilityService.java index 48a68e5..4fb957d 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/CommonUtilityService.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/CommonUtilityService.java @@ -2,10 +2,10 @@ package io.shinhanlife.axhub.biz.mcp.tool.service; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpFunction; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpTool; -import io.shinhanlife.axhub.biz.mcp.tool.dto.VacationRegisterReq; -import io.shinhanlife.axhub.biz.mcp.tool.dto.LeaveCountReq; -import io.shinhanlife.axhub.biz.mcp.tool.dto.SmsSendReq; -import io.shinhanlife.axhub.biz.mcp.tool.dto.EmailSendReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.VacationRegisterReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.LeaveCountReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.SmsSendReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.EmailSendReq; @McpTool( name = "common_utility_tool", diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/ContractInquiryService.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/ContractInquiryService.java index 3173189..b575ac2 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/ContractInquiryService.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/ContractInquiryService.java @@ -2,8 +2,8 @@ package io.shinhanlife.axhub.biz.mcp.tool.service; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpFunction; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpTool; -import io.shinhanlife.axhub.biz.mcp.tool.dto.ContractStatusReq; -import io.shinhanlife.axhub.biz.mcp.tool.dto.ContractDetailReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.ContractStatusReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.ContractDetailReq; @McpTool( name = "contract_inquiry_tool", diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/CustomerInfoService.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/CustomerInfoService.java index 413b3a0..32a5fe0 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/CustomerInfoService.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/CustomerInfoService.java @@ -2,8 +2,8 @@ package io.shinhanlife.axhub.biz.mcp.tool.service; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpFunction; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpTool; -import io.shinhanlife.axhub.biz.mcp.tool.dto.CustomerGradeReq; -import io.shinhanlife.axhub.biz.mcp.tool.dto.CustomerDetailReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.CustomerGradeReq; +import io.shinhanlife.axhub.common.mcp.tool.dto.CustomerDetailReq; @McpTool( name = "customer_info_tool", diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/util/ToolScaffolder.java b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/util/ToolScaffolder.java index 8fc2d76..deddf75 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/util/ToolScaffolder.java +++ b/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/util/ToolScaffolder.java @@ -22,8 +22,9 @@ import java.util.Scanner; public class ToolScaffolder { private static final String BASE_PACKAGE = "io.shinhanlife.axhub.biz.mcp.tool"; - // 프로젝트 루트 기준 상대 경로 private static final String BASE_PATH = "src/main/java/io/shinhanlife/axhub/biz/mcp/tool"; + private static final String COMMON_DTO_PACKAGE = "io.shinhanlife.axhub.common.mcp.tool.dto"; + private static final String COMMON_DTO_PATH = "src/main/java/io/shinhanlife.axhub.common.mcp.tool.dto"; public static void main(String[] args) throws IOException { Scanner scanner = new Scanner(System.in); @@ -55,7 +56,7 @@ public class ToolScaffolder { private static void scaffold(String baseName, String interfaceId, String description, String group, String routingType) throws IOException { Path serviceDir = Paths.get(BASE_PATH, "service"); - Path dtoDir = Paths.get(BASE_PATH, "dto"); + Path dtoDir = Paths.get(COMMON_DTO_PATH); Files.createDirectories(serviceDir); Files.createDirectories(dtoDir); @@ -65,7 +66,7 @@ public class ToolScaffolder { // Generate Req DTO String reqContent = """ - package %s.dto; + package %s; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; @@ -75,12 +76,12 @@ public class ToolScaffolder { public class %sReq { // TODO: Add request fields here } - """.formatted(BASE_PACKAGE, baseName); + """.formatted(COMMON_DTO_PACKAGE, baseName); Files.writeString(dtoDir.resolve(baseName + "Req.java"), reqContent); // Generate Res DTO String resContent = """ - package %s.dto; + package %s; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; @@ -92,7 +93,7 @@ public class ToolScaffolder { private String message; // TODO: Add response fields here } - """.formatted(BASE_PACKAGE, baseName); + """.formatted(COMMON_DTO_PACKAGE, baseName); Files.writeString(dtoDir.resolve(baseName + "Res.java"), resContent); // Generate Service @@ -101,8 +102,8 @@ public class ToolScaffolder { import %s.annotation.McpFunction; import %s.annotation.McpTool; - import %s.dto.%sReq; - import %s.dto.%sRes; + import %s.%sReq; + import %s.%sRes; import org.springframework.stereotype.Service; @Service @@ -123,7 +124,7 @@ public class ToolScaffolder { return executeLegacy("%s", "%s", req); } } - """.formatted(BASE_PACKAGE, BASE_PACKAGE, BASE_PACKAGE, BASE_PACKAGE, baseName, BASE_PACKAGE, baseName, + """.formatted(BASE_PACKAGE, BASE_PACKAGE, BASE_PACKAGE, COMMON_DTO_PACKAGE, baseName, COMMON_DTO_PACKAGE, baseName, toolName, description, group, routingType, baseName, description, interfaceId, baseName, routingType, interfaceId); Files.writeString(serviceDir.resolve(baseName + "Service.java"), serviceContent); diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/ErrorDetail.java b/src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/ErrorDetail.java similarity index 78% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/ErrorDetail.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/ErrorDetail.java index 045d659..5a5a880 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/ErrorDetail.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/ErrorDetail.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.adapter.dto; +package io.shinhanlife.axhub.common.mcp.adapter.dto; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/JsonRpcRequest.java b/src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/JsonRpcRequest.java similarity index 78% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/JsonRpcRequest.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/JsonRpcRequest.java index 0e528fc..3eff4bb 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/JsonRpcRequest.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/JsonRpcRequest.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.adapter.dto; +package io.shinhanlife.axhub.common.mcp.adapter.dto; import lombok.Getter; import lombok.Setter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/JsonRpcResponse.java b/src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/JsonRpcResponse.java similarity index 86% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/JsonRpcResponse.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/JsonRpcResponse.java index cf0e188..a7cad35 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/JsonRpcResponse.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/JsonRpcResponse.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.adapter.dto; +package io.shinhanlife.axhub.common.mcp.adapter.dto; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/Params.java b/src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/Params.java similarity index 85% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/Params.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/Params.java index ec96f87..15a3fad 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/dto/Params.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/adapter/dto/Params.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.adapter.dto; +package io.shinhanlife.axhub.common.mcp.adapter.dto; import java.util.List; import java.util.Map; diff --git a/src/main/java/io/shinhanlife/axhub/common/mcp/exception/GlobalExceptionHandler.java b/src/main/java/io/shinhanlife/axhub/common/mcp/exception/GlobalExceptionHandler.java index a9f6e2d..b61d8f3 100644 --- a/src/main/java/io/shinhanlife/axhub/common/mcp/exception/GlobalExceptionHandler.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/exception/GlobalExceptionHandler.java @@ -1,7 +1,7 @@ package io.shinhanlife.axhub.common.mcp.exception; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.ErrorDetail; -import io.shinhanlife.axhub.biz.mcp.adapter.dto.JsonRpcResponse; +import io.shinhanlife.axhub.common.mcp.adapter.dto.ErrorDetail; +import io.shinhanlife.axhub.common.mcp.adapter.dto.JsonRpcResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ExceptionHandler; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/dto/ToolMetadata.java b/src/main/java/io/shinhanlife/axhub/common/mcp/gateway/dto/ToolMetadata.java similarity index 97% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/dto/ToolMetadata.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/gateway/dto/ToolMetadata.java index 00693fe..e5c6048 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/dto/ToolMetadata.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/gateway/dto/ToolMetadata.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.gateway.dto; +package io.shinhanlife.axhub.common.mcp.gateway.dto; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BillingProcessReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BillingProcessReq.java similarity index 88% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BillingProcessReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BillingProcessReq.java index 9b17011..4948d12 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BillingProcessReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BillingProcessReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BillingStatusReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BillingStatusReq.java similarity index 84% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BillingStatusReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BillingStatusReq.java index 1e84279..3ac6d48 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BillingStatusReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BillingStatusReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BondCheckReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BondCheckReq.java similarity index 85% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BondCheckReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BondCheckReq.java index 41da399..219703e 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BondCheckReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BondCheckReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BondIssueReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BondIssueReq.java similarity index 88% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BondIssueReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BondIssueReq.java index 6284900..3e70612 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/BondIssueReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/BondIssueReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/ContractDetailReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/ContractDetailReq.java similarity index 88% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/ContractDetailReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/ContractDetailReq.java index 2c5705c..f059002 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/ContractDetailReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/ContractDetailReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/ContractStatusReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/ContractStatusReq.java similarity index 87% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/ContractStatusReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/ContractStatusReq.java index 826cf1d..5e2da29 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/ContractStatusReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/ContractStatusReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/CustomerDetailReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/CustomerDetailReq.java similarity index 87% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/CustomerDetailReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/CustomerDetailReq.java index f1ef635..a31d064 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/CustomerDetailReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/CustomerDetailReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/CustomerGradeReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/CustomerGradeReq.java similarity index 88% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/CustomerGradeReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/CustomerGradeReq.java index 8a3b87c..a3f0868 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/CustomerGradeReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/CustomerGradeReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/EmailSendReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/EmailSendReq.java similarity index 90% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/EmailSendReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/EmailSendReq.java index 6de9850..9c3e36c 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/EmailSendReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/EmailSendReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/LeaveCountReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/LeaveCountReq.java similarity index 85% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/LeaveCountReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/LeaveCountReq.java index 800240a..497ce78 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/LeaveCountReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/LeaveCountReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/SmsSendReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/SmsSendReq.java similarity index 88% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/SmsSendReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/SmsSendReq.java index e807eb6..04308bb 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/SmsSendReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/SmsSendReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter; diff --git a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/VacationRegisterReq.java b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/VacationRegisterReq.java similarity index 88% rename from src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/VacationRegisterReq.java rename to src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/VacationRegisterReq.java index 39bee1e..3e1ffad 100644 --- a/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/dto/VacationRegisterReq.java +++ b/src/main/java/io/shinhanlife/axhub/common/mcp/tool/dto/VacationRegisterReq.java @@ -1,4 +1,4 @@ -package io.shinhanlife.axhub.biz.mcp.tool.dto; +package io.shinhanlife.axhub.common.mcp.tool.dto; import io.shinhanlife.axhub.biz.mcp.tool.annotation.McpParameter; import lombok.Getter;