diff --git a/dap-was-lib/build.gradle b/dap-was-lib/build.gradle index 2c803d59f..994342468 100644 --- a/dap-was-lib/build.gradle +++ b/dap-was-lib/build.gradle @@ -38,3 +38,13 @@ dependencies { testCompileOnly 'org.projectlombok:lombok:1.18.32' testAnnotationProcessor 'org.projectlombok:lombok:1.18.32' } + + +jar { + enabled = true +} + +tasks.matching { it.name == 'bootJar' }.configureEach { + enabled = false +} + diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/dto/ToolMetadata.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/dto/ToolMetadata.java similarity index 98% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/dto/ToolMetadata.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/dto/ToolMetadata.java index 9ab099034..fb05ce61f 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/dto/ToolMetadata.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/dto/ToolMetadata.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.dto; +package io.shinhanlife.dap.lib.dto; import lombok.Getter; import lombok.Setter; diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestAnnotations.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestAnnotations.java similarity index 86% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestAnnotations.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestAnnotations.java index 35c966541..f793904ec 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestAnnotations.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestAnnotations.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.manifest; +package io.shinhanlife.dap.lib.manifest; /** Behaviour hints exposed by the Tool Service manifest. */ public record ToolManifestAnnotations( diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestItem.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestItem.java similarity index 90% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestItem.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestItem.java index 9f9b8e092..f03c9a96d 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestItem.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestItem.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.manifest; +package io.shinhanlife.dap.lib.manifest; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Map; diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestMeta.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestMeta.java similarity index 78% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestMeta.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestMeta.java index e99ac6d8f..192ba496a 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestMeta.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestMeta.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.manifest; +package io.shinhanlife.dap.lib.manifest; /** Operational metadata exposed by the Tool Service manifest. */ public record ToolManifestMeta(String version, long timeoutMillis, boolean enabled) { diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestResponse.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestResponse.java similarity index 81% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestResponse.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestResponse.java index 891aaf651..293a9e01b 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestResponse.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestResponse.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.manifest; +package io.shinhanlife.dap.lib.manifest; import java.util.List; diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestService.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestService.java similarity index 98% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestService.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestService.java index b8172ca00..3c96a6e1f 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/manifest/ToolManifestService.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/manifest/ToolManifestService.java @@ -1,8 +1,8 @@ -package io.shinhanlife.dap.mcc.manifest; +package io.shinhanlife.dap.lib.manifest; import com.fasterxml.jackson.databind.ObjectMapper; import io.shinhanlife.dap.lib.config.McpProperties; -import io.shinhanlife.dap.mcc.dto.ToolMetadata; +import io.shinhanlife.dap.lib.dto.ToolMetadata; import io.shinhanlife.dap.mcc.usecase.LocalToolScanner; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/McpRequestHeaderContext.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/McpRequestHeaderContext.java similarity index 93% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/McpRequestHeaderContext.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/McpRequestHeaderContext.java index e3cb547fe..0104394df 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/McpRequestHeaderContext.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/McpRequestHeaderContext.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.mcp; +package io.shinhanlife.dap.lib.mcp; /** Holds optional MCP headers for the lifetime of one HTTP request thread. */ public final class McpRequestHeaderContext { diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/McpRequestHeaderFilter.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/McpRequestHeaderFilter.java similarity index 97% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/McpRequestHeaderFilter.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/McpRequestHeaderFilter.java index 273629fba..aae2654f4 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/McpRequestHeaderFilter.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/McpRequestHeaderFilter.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.mcp; +package io.shinhanlife.dap.lib.mcp; import java.io.IOException; import jakarta.servlet.FilterChain; diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/McpRequestHeaders.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/McpRequestHeaders.java similarity index 87% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/McpRequestHeaders.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/McpRequestHeaders.java index 7ce4fed89..3eb87c766 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/McpRequestHeaders.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/McpRequestHeaders.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.mcp; +package io.shinhanlife.dap.lib.mcp; /** Optional request headers propagated from an MCP HTTP request to a Tool invocation. */ public record McpRequestHeaders( diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/ToolMcpServerConfiguration.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolMcpServerConfiguration.java similarity index 96% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/ToolMcpServerConfiguration.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolMcpServerConfiguration.java index b07916ab7..fc6db1f11 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/ToolMcpServerConfiguration.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolMcpServerConfiguration.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.mcp; +package io.shinhanlife.dap.lib.mcp; import io.modelcontextprotocol.server.transport.HttpServletStreamableServerTransportProvider; import org.springframework.boot.web.servlet.ServletRegistrationBean; diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/ToolPodMcpToolSynchronizer.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolPodMcpToolSynchronizer.java similarity index 98% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/ToolPodMcpToolSynchronizer.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolPodMcpToolSynchronizer.java index 8967f4b30..e7750d70b 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/ToolPodMcpToolSynchronizer.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolPodMcpToolSynchronizer.java @@ -1,10 +1,10 @@ -package io.shinhanlife.dap.mcc.mcp; +package io.shinhanlife.dap.lib.mcp; import com.fasterxml.jackson.databind.ObjectMapper; import io.modelcontextprotocol.server.McpServerFeatures; import io.modelcontextprotocol.server.McpSyncServer; import io.modelcontextprotocol.spec.McpSchema; -import io.shinhanlife.dap.mcc.dto.ToolMetadata; +import io.shinhanlife.dap.lib.dto.ToolMetadata; import io.shinhanlife.dap.mcc.presentation.BusinessToolController; import io.shinhanlife.dap.mcc.usecase.LocalToolScanner; import java.util.LinkedHashMap; diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/ToolArgumentSchemaValidator.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/validation/ToolArgumentSchemaValidator.java similarity index 96% rename from dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/ToolArgumentSchemaValidator.java rename to dap-was-lib/src/main/java/io/shinhanlife/dap/lib/validation/ToolArgumentSchemaValidator.java index 59c68ffec..c138ab077 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/ToolArgumentSchemaValidator.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/validation/ToolArgumentSchemaValidator.java @@ -1,4 +1,4 @@ -package io.shinhanlife.dap.mcc.presentation; +package io.shinhanlife.dap.lib.validation; import com.fasterxml.jackson.databind.ObjectMapper; import com.networknt.schema.Error; diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/BusinessToolController.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/BusinessToolController.java index 3dea576a8..7a9977076 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/BusinessToolController.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/BusinessToolController.java @@ -17,10 +17,11 @@ package io.shinhanlife.dap.mcc.presentation; */ import com.fasterxml.jackson.databind.ObjectMapper; import com.networknt.schema.Error; +import io.shinhanlife.dap.lib.validation.ToolArgumentSchemaValidator; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.lib.config.McpProperties; -import io.shinhanlife.dap.mcc.dto.ToolMetadata; +import io.shinhanlife.dap.lib.dto.ToolMetadata; import io.shinhanlife.dap.mcc.usecase.LocalToolScanner; import io.shinhanlife.dap.lib.util.ToolSchemaResolver; import java.lang.reflect.Method; diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/ToolManifestController.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/ToolManifestController.java index 6ccdf9045..a8eeea7fc 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/ToolManifestController.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/ToolManifestController.java @@ -1,7 +1,7 @@ package io.shinhanlife.dap.mcc.presentation; -import io.shinhanlife.dap.mcc.manifest.ToolManifestResponse; -import io.shinhanlife.dap.mcc.manifest.ToolManifestService; +import io.shinhanlife.dap.lib.manifest.ToolManifestResponse; +import io.shinhanlife.dap.lib.manifest.ToolManifestService; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/usecase/LocalToolScanner.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/usecase/LocalToolScanner.java index 3f21cf39a..4432d44ea 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/usecase/LocalToolScanner.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/usecase/LocalToolScanner.java @@ -19,7 +19,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import io.shinhanlife.dap.lib.annotation.McpFunction; import io.shinhanlife.dap.lib.annotation.McpTool; import io.shinhanlife.dap.lib.config.McpProperties; -import io.shinhanlife.dap.mcc.dto.ToolMetadata; +import io.shinhanlife.dap.lib.dto.ToolMetadata; import io.shinhanlife.dap.lib.util.ToolSchemaResolver; import jakarta.annotation.PostConstruct; import java.lang.reflect.Method; diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcg/dto/ToolMetadata.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/mcg/dto/ToolMetadata.java deleted file mode 100644 index 9c54fdd0a..000000000 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/mcg/dto/ToolMetadata.java +++ /dev/null @@ -1,87 +0,0 @@ -package io.shinhanlife.dap.mcg.dto; - -import lombok.Getter; -import lombok.Setter; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.Map; - -/** - * Tool(Agent)의 명세 및 라우팅 정보를 담고 있는 메타데이터 클래스 - * Redis 레지스트리에 저장되며, Planner와 Router 간의 통신 객체(Plan)로 사용됩니다. - */ -/** - * @package io.shinhanlife.dap.mcg.dto - * @className ToolMetadata - * @description AX HUB 시스템 처리 클래스 - * @author 0986406 - * @create 2026.09.01 - *
- * ---------- 개정이력 ---------- - * 수정일 수정자 수정내용 - * ---------- -------- --------------------------- - * 2026.09.01 0986406 최초생성 - * - *- */ -@Builder -@NoArgsConstructor -@AllArgsConstructor -@Getter -@Setter -public class ToolMetadata { - - // 1. Tool 기본 정보 - private String uid; // UUID 형식의 고유 식별자 - private String semver; // 버전 (예: 1.0.0) - private String displayName; // 사람이 읽는 라벨 (1-128자) - private String name; // MCP 서브툴 명칭 (64자 이하, 예: CustomerSearchTool) - private String description; // 툴의 목적 및 설명 (LLM 프롬프트에 활용 가능) - - // 2. 파라미터 스키마 (JSON Schema 형태의 Map) - private Map