feat: standardize tool names and http clients
Some checks failed
Deploy to OCIWP / deploy (push) Has been cancelled
Some checks failed
Deploy to OCIWP / deploy (push) Has been cancelled
This commit is contained in:
@@ -6,7 +6,7 @@ import io.shinhanlife.dap.lib.annotation.ToolHint;
|
||||
import io.shinhanlife.dap.mcc.biz.cmm.dto.*;
|
||||
|
||||
public interface BalanceUseCase {
|
||||
@McpTool(name = "oth_cmm_balance_inquiry", title = "잔고 조회 툴", description = "고객의 계좌 잔액을 조회합니다.")
|
||||
@McpTool(name = "cmm_balance_inquiry", title = "잔고 조회 툴", description = "고객의 계좌 잔액을 조회합니다.")
|
||||
@ToolHint(register = false, categoryKey = "cmm", mappingId = "ACC_001")
|
||||
Object execute(BalanceRequest req);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.*;
|
||||
public interface BillingProcessUseCase {
|
||||
Object getStatus(BillingStatusRequest req);
|
||||
|
||||
@McpTool(name = "oth_cmm_billing_process", title = "청구 프로세스 툴", description = "청구 처리")
|
||||
@McpTool(name = "cmm_billing_process", title = "청구 프로세스 툴", description = "청구 처리")
|
||||
@ToolHint(register = false, categoryKey = "cmm", mappingId = "BILL_002")
|
||||
Object processBilling(BillingProcessRequest data);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.*;
|
||||
public interface BondIssueUseCase {
|
||||
Object check(BondCheckRequest req);
|
||||
|
||||
@McpTool(name = "oth_cmm_bond_issue", title = "채권 발행 툴", description = "증권 발행 테스트1")
|
||||
@McpTool(name = "cmm_bond_issue", title = "채권 발행 툴", description = "증권 발행 테스트1")
|
||||
@ToolHint(register = false, categoryKey = "cmm", mappingId = "BOND_002")
|
||||
Object issue(BondIssueRequest data);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.ClaimSearchResponse;
|
||||
|
||||
public interface ClaimSearchSchemaSampleUseCase {
|
||||
|
||||
@McpTool(name = "oth_cmm_claim_search", title = "청구 조회 스키마 샘플", description = "Claim search Tool sample using input and output JSON Schema resources.", annotations = @McpTool.McpAnnotations(readOnlyHint = true, idempotentHint = true))
|
||||
@McpTool(name = "cmm_claim_schema_search", title = "청구 조회 스키마 샘플", description = "Claim search Tool sample using input and output JSON Schema resources.", annotations = @McpTool.McpAnnotations(readOnlyHint = true, idempotentHint = true))
|
||||
@ToolHint(register = false, categoryKey = "cmm",
|
||||
inputSchemaResource = "classpath:tool-schemas/cmm/claim-search-resource-input-schema.json",
|
||||
outputSchemaResource = "classpath:tool-schemas/cmm/claim-search-resource-output-schema.json")
|
||||
|
||||
@@ -8,11 +8,11 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.*;
|
||||
public interface CommonUtilityUseCase {
|
||||
Object registerVacation(VacationRegisterRequest req);
|
||||
|
||||
@McpTool(name = "oth_cmm_leave_count", title = "공통 유틸리티 툴", description = "연차 갯수 조회")
|
||||
@McpTool(name = "cmm_leave_count", title = "공통 유틸리티 툴", description = "연차 갯수 조회")
|
||||
@ToolHint(register = false, categoryKey = "cmm", mappingId = "HR_VAC_02")
|
||||
Object getLeaveCount(LeaveCountRequest data);
|
||||
|
||||
@McpTool(name = "oth_cmm_secret_execute", title = "공통 유틸리티 툴", description = "비공개 툴 테스트")
|
||||
@McpTool(name = "cmm_secret_execute", title = "공통 유틸리티 툴", description = "비공개 툴 테스트")
|
||||
@ToolHint(register = false, categoryKey = "cmm", mappingId = "SECRET_001")
|
||||
Object secretTool(LeaveCountRequest data);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.*;
|
||||
public interface ContractInquiryUseCase {
|
||||
Object getStatus(ContractStatusRequest req);
|
||||
|
||||
@McpTool(name = "oth_cmm_contract_detail", title = "계약 상세조회 툴", description = "계약상세 조회")
|
||||
@McpTool(name = "cmm_contract_detail", title = "계약 상세조회 툴", description = "계약상세 조회")
|
||||
@ToolHint(register = false, categoryKey = "cmm", mappingId = "CNTR_002")
|
||||
Object getDetail(ContractDetailRequest data);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.*;
|
||||
public interface CustomerInfoUseCase {
|
||||
Object getGrade(CustomerGradeRequest req);
|
||||
|
||||
@McpTool(name = "oth_cmm_customer_detail", title = "고객 상세조회 툴", description = "고객상세 정보 조회")
|
||||
@McpTool(name = "cmm_customer_detail", title = "고객 상세조회 툴", description = "고객상세 정보 조회")
|
||||
@ToolHint(register = false, categoryKey = "cmm", mappingId = "CRM_002")
|
||||
Object getDetail(CustomerDetailRequest data);
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.MetaCommonCodeRequest;
|
||||
* </pre>
|
||||
*/
|
||||
public interface MetaCommonCodeUseCase {
|
||||
@McpTool(name = "oth_cmm_commonCode_lookup", title = "메타 공통코드 조회 툴", description = "메타 통합코드 목록을 조회해줘", annotations = @McpTool.McpAnnotations(openWorldHint = true))
|
||||
@McpTool(name = "cmm_commonCode_lookup", title = "메타 공통코드 조회 툴", description = "메타 통합코드 목록을 조회해줘", annotations = @McpTool.McpAnnotations(openWorldHint = true))
|
||||
@ToolHint(register = false, requiresApproval = false, categoryKey = "cmm", mappingId = "CLCNNB00001")
|
||||
Object execute(MetaCommonCodeRequest req);
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.MetaTableRequest;
|
||||
* </pre>
|
||||
*/
|
||||
public interface MetaTableUseCase {
|
||||
@McpTool(name = "oth_cmm_meta_table", title = "메타 테이블 조회 툴", description = "메타 테이블 정보 목록을 조회해줘", annotations = @McpTool.McpAnnotations(openWorldHint = true))
|
||||
@McpTool(name = "cmm_meta_table", title = "메타 테이블 조회 툴", description = "메타 테이블 정보 목록을 조회해줘", annotations = @McpTool.McpAnnotations(openWorldHint = true))
|
||||
@ToolHint(register = false, requiresApproval = false, categoryKey = "cmm", mappingId = "CLCNNB00001")
|
||||
Object execute(MetaTableRequest req);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.*;
|
||||
import java.util.Map;
|
||||
|
||||
public interface TemplateUtilityUseCase {
|
||||
@McpTool(name = "oth_cmm_template_url", title = "템플릿 유틸리티 툴", description = "요청한 템플릿(엑셀, 워드 등) 파일(양식)을 다운로드 받을 수 있는 시스템 URL을 반환합니다. AI는 이 URL을 사용자에게 마크다운 링크 형태로 제공해야 합니다.")
|
||||
@McpTool(name = "cmm_template_url", title = "템플릿 유틸리티 툴", description = "요청한 템플릿(엑셀, 워드 등) 파일(양식)을 다운로드 받을 수 있는 시스템 URL을 반환합니다. AI는 이 URL을 사용자에게 마크다운 링크 형태로 제공해야 합니다.")
|
||||
@ToolHint(categoryKey = "cmm")
|
||||
Map<String, Object> getTemplateFileUrl(TemplateDownloadRequest req);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import io.shinhanlife.dap.lib.annotation.ToolHint;
|
||||
import io.shinhanlife.dap.mcc.biz.oth.dto.*;
|
||||
|
||||
public interface Onnba3011UseCase {
|
||||
@McpTool(name = "oth_oth_onnba3011_call", description = "Onnba3011 호출 툴")
|
||||
@McpTool(name = "onnba3011_call", description = "Onnba3011 호출 툴")
|
||||
@ToolHint(categoryKey = "oth", register = false)
|
||||
Object execute(Onnba3011Request req);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import io.shinhanlife.dap.mcc.biz.smp.dto.DailyQuoteRequest;
|
||||
import io.shinhanlife.dap.mcc.biz.smp.dto.DailyQuoteResponse;
|
||||
|
||||
public interface DailyQuoteToolUseCase {
|
||||
@McpTool(name = "oth_smp_quote_daily", title = "오늘의 명언 툴", description = "무작위로 영감을 주는 명언을 하나 가져옵니다.")
|
||||
@McpTool(name = "smp_quote_daily", title = "오늘의 명언 툴", description = "무작위로 영감을 주는 명언을 하나 가져옵니다.")
|
||||
@ToolHint(register = false, categoryKey = "smp", mappingId = "QUOTE_001")
|
||||
DailyQuoteResponse execute(DailyQuoteRequest req);
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import io.shinhanlife.dap.mcc.biz.smp.dto.ExchangeRateRequest;
|
||||
import io.shinhanlife.dap.mcc.biz.smp.dto.ExchangeRateResponse;
|
||||
|
||||
public interface ExchangeRateToolUseCase {
|
||||
@McpTool(name = "oth_smp_exchangeRate_inquiry", title = "실시간 환율 조회 툴", description = "원하는 통화의 실시간 환율을 조회합니다. (예: USD, EUR, JPY)")
|
||||
@McpTool(name = "smp_exchangeRate_inquiry", title = "실시간 환율 조회 툴", description = "원하는 통화의 실시간 환율을 조회합니다. (예: USD, EUR, JPY)")
|
||||
@ToolHint(register = false, categoryKey = "smp", mappingId = "EXCHANGE_001")
|
||||
ExchangeRateResponse execute(ExchangeRateRequest req);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import org.springaicommunity.mcp.annotation.McpTool;
|
||||
/** Sample Tool that demonstrates a configured HTTP API integration. */
|
||||
public interface SampleHttpStatusUseCase {
|
||||
|
||||
@McpTool(name = "oth_smp_sample_status",
|
||||
@McpTool(name = "smp_sample_status",
|
||||
title = "Sample external HTTP API status",
|
||||
description = "Calls the configured sample HTTP API and returns its status.")
|
||||
@ToolHint(register = false, categoryKey = "smp", mappingId = "HTTP_SAMPLE_001")
|
||||
|
||||
@@ -6,7 +6,7 @@ import io.shinhanlife.dap.lib.annotation.ToolHint;
|
||||
import io.shinhanlife.dap.mcc.biz.smp.dto.TeamMemberRequest;
|
||||
|
||||
public interface TeamMemberUseCase {
|
||||
@McpTool(name = "oth_smp_team_list", title = "신한라이프 MCP, TOOL 파트 구성원 조회", description = "신한라이프 MCP, TOOL 파트 구성원을 조회합니다.", annotations = @McpTool.McpAnnotations(openWorldHint = true))
|
||||
@McpTool(name = "smp_team_list", title = "신한라이프 MCP, TOOL 파트 구성원 조회", description = "신한라이프 MCP, TOOL 파트 구성원을 조회합니다.", annotations = @McpTool.McpAnnotations(openWorldHint = true))
|
||||
@ToolHint(register = false, requiresApproval = false, categoryKey = "smp", mappingId = "DIRECT0001")
|
||||
Object execute(TeamMemberRequest req);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import io.shinhanlife.dap.lib.annotation.ToolHint;
|
||||
import io.shinhanlife.dap.mcc.biz.smp.dto.*;
|
||||
|
||||
public interface WeatherToolUseCase {
|
||||
@McpTool(name = "oth_smp_weather_inquiry", title = "날씨 조회 툴", description = "특정 도시의 현재 날씨, 온도, 풍속 정보를 조회합니다.")
|
||||
@McpTool(name = "smp_weather_inquiry", title = "날씨 조회 툴", description = "특정 도시의 현재 날씨, 온도, 풍속 정보를 조회합니다.")
|
||||
@ToolHint(register = false, categoryKey = "smp", mappingId = "WEATHER_001")
|
||||
WeatherResponse execute(WeatherRequest req);
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqDetailRequest;
|
||||
*/
|
||||
public interface SolReqDetailUseCase {
|
||||
|
||||
@McpTool(name = "oth_sol_request_detail", title = "SolReqDetail 툴", description = "SOL 의뢰서 상세 조회", annotations = @McpTool.McpAnnotations(openWorldHint = true, readOnlyHint = true))
|
||||
@McpTool(name = "sol_request_detail", title = "SolReqDetail 툴", description = "SOL 의뢰서 상세 조회", annotations = @McpTool.McpAnnotations(openWorldHint = true, readOnlyHint = true))
|
||||
@ToolHint(register = false, requiresApproval = false, categoryKey = "sol", mappingId = "SOLG00000002")
|
||||
Object execute(SolReqDetailRequest req);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import io.shinhanlife.dap.lib.annotation.ToolHint;
|
||||
import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqListRequest;
|
||||
|
||||
public interface SolReqListUseCase {
|
||||
@McpTool(name = "oth_sol_request_list", title = "SolReqList 툴", description = "SOL 의뢰서 목록 조회해줘", annotations = @McpTool.McpAnnotations(openWorldHint = true))
|
||||
@McpTool(name = "sol_request_list", title = "SolReqList 툴", description = "SOL 의뢰서 목록 조회해줘", annotations = @McpTool.McpAnnotations(openWorldHint = true))
|
||||
@ToolHint(register = false, requiresApproval = false, categoryKey = "sol", mappingId = "SOLG00000001")
|
||||
Object execute(SolReqListRequest req);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package io.shinhanlife.dap.mcc.biz.cmm.dto;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
@@ -24,11 +25,9 @@ class ClaimSearchRequestSchemaTest {
|
||||
|
||||
assertEquals(false, schema.get("additionalProperties"));
|
||||
assertEquals("^CLM[0-9]{13}$", properties.get("claimNo").get("pattern"));
|
||||
assertEquals(50L, properties.get("size").get("maximum"));
|
||||
assertEquals(20L, properties.get("size").get("default"));
|
||||
assertEquals(List.of(
|
||||
Map.of("required", List.of("claimNo")),
|
||||
Map.of("required", List.of("contractNo"))), schema.get("anyOf"));
|
||||
assertEquals("^[1-9][0-9]?$|^50$", properties.get("size").get("pattern"));
|
||||
assertEquals("20", properties.get("size").get("default"));
|
||||
assertFalse(schema.containsKey("anyOf"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -37,7 +37,7 @@ class Onnba3011UseCaseImplTest {
|
||||
when(converter.toMciRequest(request)).thenReturn(mciRequest);
|
||||
when(mciCfpaClient.callCfpa0001(mciRequest)).thenReturn("success");
|
||||
|
||||
Object result = useCase.callOnnba3011(request);
|
||||
Object result = useCase.execute(request);
|
||||
|
||||
assertEquals("success", result);
|
||||
verify(converter).toMciRequest(request);
|
||||
|
||||
Reference in New Issue
Block a user