Set openWorldHint to false in UseCase java files and add empty pattern to tool-definition yaml files
Some checks failed
Deploy to OCIWP / deploy (push) Has been cancelled

This commit is contained in:
jade
2026-08-14 11:45:57 +09:00
parent 17c570f740
commit d29a7fce09
57 changed files with 76 additions and 59 deletions

View File

@@ -1231,6 +1231,10 @@
</table>
</div>
<button type="button" class="btn-action mt-2" onclick="addSubFieldEditorRow()">+ 하위 필드 추가</button>
<div class="mt-4">
<label class="form-label">JSON 미리보기</label>
<pre id="subFieldEditorPreview" class="mb-0 p-3 rounded" style="background:#09090b; border:1px solid #27272a; color:#e4e4e7; font-size:0.78rem; max-height:190px; overflow:auto;"></pre>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn-secondary-action" data-bs-dismiss="modal">취소</button>
@@ -1793,6 +1797,7 @@
if (!subFieldEditorModalInstance) {
subFieldEditorModalInstance = new bootstrap.Modal(document.getElementById('subFieldEditorModal'));
}
updateSubFieldEditorPreview();
subFieldEditorModalInstance.show();
}
@@ -1828,17 +1833,20 @@
[n, t, det, d, p, e, req].forEach(ctrl => {
const td = document.createElement('td'); td.appendChild(ctrl); row.appendChild(td);
ctrl.addEventListener('input', updateSubFieldEditorPreview);
ctrl.addEventListener('change', updateSubFieldEditorPreview);
});
const del = document.createElement('button');
del.type = 'button'; del.className = 'btn-secondary-action'; del.textContent = 'X';
del.style.padding = '0.1rem 0.4rem';
del.onclick = () => row.remove();
del.onclick = () => { row.remove(); updateSubFieldEditorPreview(); };
const delTd = document.createElement('td'); delTd.appendChild(del); row.appendChild(delTd);
document.getElementById('subFieldEditorBody').appendChild(row);
updateSubFieldEditorPreview();
}
function applySubFieldEditor() {
const fields = [...document.querySelectorAll('#subFieldEditorBody tr')].map(row => {
function currentSubEditorFields() {
return [...document.querySelectorAll('#subFieldEditorBody tr')].map(row => {
const type = row.querySelector('[data-field="type"]').value;
const details = row.querySelector('[data-field="details"]').value.trim();
return {
@@ -1852,6 +1860,15 @@
itemType: null, itemFields: []
};
}).filter(f => f.name);
}
function updateSubFieldEditorPreview() {
const preview = document.getElementById('subFieldEditorPreview');
if (preview) preview.textContent = JSON.stringify(currentSubEditorFields(), null, 2);
}
function applySubFieldEditor() {
const fields = currentSubEditorFields();
currentSubFieldTargetInput.value = JSON.stringify(fields);
currentSubFieldTargetInput.dispatchEvent(new Event('input'));
currentSubFieldTargetInput.dispatchEvent(new Event('change'));

View File

@@ -20,7 +20,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.MetaCommonCodeRequest;
* </pre>
*/
public interface MetaCommonCodeUseCase {
@McpTool(name = "cmm_comcode_lookup", title = "메타 공통코드 조회 툴", description = "메타 통합코드 목록을 조회해줘", annotations = @McpTool.McpAnnotations(openWorldHint = true))
@McpTool(name = "cmm_comcode_lookup", title = "메타 공통코드 조회 툴", description = "메타 통합코드 목록을 조회해줘", annotations = @McpTool.McpAnnotations(openWorldHint = false))
@GrowToolHint(requiresApproval = false, categoryKey = "cmm", mappingId = "CLCNNB00001")
Object searchCommonCode(MetaCommonCodeRequest req);
}

View File

@@ -20,7 +20,7 @@ import io.shinhanlife.dap.mcc.biz.cmm.dto.MetaTableRequest;
* </pre>
*/
public interface MetaTableUseCase {
@McpTool(name = "cmm_meta_table", title = "메타 테이블 조회 툴", description = "메타 테이블 정보 목록을 조회해줘", annotations = @McpTool.McpAnnotations(openWorldHint = true))
@McpTool(name = "cmm_meta_table", title = "메타 테이블 조회 툴", description = "메타 테이블 정보 목록을 조회해줘", annotations = @McpTool.McpAnnotations(openWorldHint = false))
@GrowToolHint(requiresApproval = false, categoryKey = "cmm", mappingId = "CLCNNB00001")
Object searchMetaTable(MetaTableRequest req);
}

View File

@@ -6,7 +6,7 @@ import io.shinhanlife.dap.lib.annotation.GrowToolHint;
import io.shinhanlife.dap.mcc.biz.smp.dto.TeamMemberRequest;
public interface TeamMemberUseCase {
@McpTool(name = "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 = false))
@GrowToolHint(requiresApproval = false, categoryKey = "smp", mappingId = "DIRECT0001")
Object getTeamMember(TeamMemberRequest req);
}

View File

@@ -21,7 +21,7 @@ import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqDetailRequest;
*/
public interface SolReqDetailUseCase {
@McpTool(name = "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 = false, readOnlyHint = true))
@GrowToolHint(
requiresApproval = false,
categoryKey = "sol",

View File

@@ -6,7 +6,7 @@ import io.shinhanlife.dap.lib.annotation.GrowToolHint;
import io.shinhanlife.dap.mcc.biz.sol.dto.SolReqListRequest;
public interface SolReqListUseCase {
@McpTool(name = "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 = false))
@GrowToolHint(requiresApproval = false, categoryKey = "sol", mappingId = "SOLG00000001")
Object searchSolRequests(SolReqListRequest req);
}

View File

@@ -8,7 +8,7 @@ import org.springaicommunity.mcp.annotation.McpTool;
public interface SystemStatusUseCase {
@McpTool(name = "iam_system_status", title = "시스템 상태 조회",
description = "조회 전용 모의 시스템 상태를 반환합니다.",
annotations = @McpTool.McpAnnotations(openWorldHint = true))
annotations = @McpTool.McpAnnotations(openWorldHint = false))
@GrowToolHint(requiresApproval = false, categoryKey = "iam", mappingId = "DIRECT_IAM_STATUS")
SystemStatusResponse getSystemStatus(SystemStatusRequest request);

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -8,7 +8,7 @@ example_queries: ["배포 버전을 보여줘", "현재 버전을 확인해줘",
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {environment: {type: string, description: 조회할 환경명}}, additionalProperties: false}
parameters_schema: {type: object, properties: {environment: {type: string, description: 조회할 환경명, pattern: ""}}, additionalProperties: false}
tags: [iam, 배포, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -8,7 +8,7 @@ example_queries: ["환경 정보를 보여줘", "개발 환경을 확인해줘",
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {environment: {type: string, description: 조회할 환경명}}, additionalProperties: false}
parameters_schema: {type: object, properties: {environment: {type: string, description: 조회할 환경명, pattern: ""}}, additionalProperties: false}
tags: [iam, 환경, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회 조건}
environment: {type: string, description: 조회 조건, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회 조건}
environment: {type: string, description: 조회 조건, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회 조건}
environment: {type: string, description: 조회 조건, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -8,7 +8,7 @@ example_queries: ["서비스 상태를 보여줘", "서비스가 정상인가요
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {environment: {type: string, description: 조회할 환경명}}, additionalProperties: false}
parameters_schema: {type: object, properties: {environment: {type: string, description: 조회할 환경명, pattern: ""}}, additionalProperties: false}
tags: [iam, 서비스, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -8,7 +8,7 @@ example_queries: ["시스템 상태를 보여줘", "개발 환경 상태를 확
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {environment: {type: string, description: 조회할 환경명}}, additionalProperties: false}
parameters_schema: {type: object, properties: {environment: {type: string, description: 조회할 환경명, pattern: ""}}, additionalProperties: false}
tags: [iam, 상태, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회할 환경명}
environment: {type: string, description: 조회할 환경명, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
environment: {type: string, description: 조회 조건}
environment: {type: string, description: 조회 조건, pattern: ""}
additionalProperties: false
tags: [iam, 조회, mock]
required_env_keys: []

View File

@@ -8,7 +8,7 @@ example_queries: ["알림 목록을 보여줘", "현재 알림을 알려줘", "
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류}}, additionalProperties: false}
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류, pattern: ""}}, additionalProperties: false}
tags: [pct, 알림, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회 조건}
category: {type: string, description: 조회 조건, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회 조건}
category: {type: string, description: 조회 조건, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -8,7 +8,7 @@ example_queries: ["점검 일정을 보여줘", "정기 점검이 언제야?", "
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류}}, additionalProperties: false}
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류, pattern: ""}}, additionalProperties: false}
tags: [pct, 점검, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -8,7 +8,7 @@ example_queries: ["시스템 공지를 보여줘", "현재 공지를 알려줘",
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류}}, additionalProperties: false}
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류, pattern: ""}}, additionalProperties: false}
tags: [pct, 공지, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -8,7 +8,7 @@ example_queries: ["최신 공지를 보여줘", "오늘 공지가 있나요?", "
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류}}, additionalProperties: false}
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류, pattern: ""}}, additionalProperties: false}
tags: [pct, 공지, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -8,7 +8,7 @@ example_queries: ["점검 공지를 검색해줘", "배포 공지를 찾아줘",
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류}}, additionalProperties: false}
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류, pattern: ""}}, additionalProperties: false}
tags: [pct, 공지, 조회, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회 조건}
category: {type: string, description: 조회 조건, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -8,7 +8,7 @@ example_queries: ["배포 공지를 보여줘", "최근 배포 내용을 알려
read_only: true
destructive: false
idempotent: true
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류}}, additionalProperties: false}
parameters_schema: {type: object, properties: {category: {type: string, description: 조회할 공지 분류, pattern: ""}}, additionalProperties: false}
tags: [pct, 배포, mock]
required_env_keys: []
owner_org: MCP_TOOL

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회할 공지 분류}
category: {type: string, description: 조회할 공지 분류, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []

View File

@@ -15,7 +15,7 @@ idempotent: true
parameters_schema:
type: object
properties:
category: {type: string, description: 조회 조건}
category: {type: string, description: 조회 조건, pattern: ""}
additionalProperties: false
tags: [pct, 조회, mock]
required_env_keys: []