From 1560589dd56c2c5969c00ae9904c922b13bfd056 Mon Sep 17 00:00:00 2001 From: jade Date: Tue, 18 Aug 2026 22:00:21 +0900 Subject: [PATCH] feat(was-lib): map GrowToolHint metadata fields to ToolMetadata in ToolScanner --- .../dap/lib/mcp/ToolRegistryHeartbeatSender.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolRegistryHeartbeatSender.java b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolRegistryHeartbeatSender.java index 845505fd4..022b8f6c4 100644 --- a/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolRegistryHeartbeatSender.java +++ b/dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolRegistryHeartbeatSender.java @@ -164,6 +164,18 @@ public class ToolRegistryHeartbeatSender { meta.setOpenWorldHint(true); } + if (hintAnnotation != null) { + if (!hintAnnotation.displayDescription().isBlank()) meta.setDisplayDescription(hintAnnotation.displayDescription()); + if (!hintAnnotation.functionDescription().isBlank()) meta.setFunctionDescription(hintAnnotation.functionDescription()); + if (!hintAnnotation.whenToUse().isBlank()) meta.setWhenToUse(hintAnnotation.whenToUse()); + if (!hintAnnotation.whenNotToUse().isBlank()) meta.setWhenNotToUse(hintAnnotation.whenNotToUse()); + if (!hintAnnotation.ioLimits().isBlank()) meta.setIoLimits(hintAnnotation.ioLimits()); + if (hintAnnotation.exampleQueries().length > 0) meta.setExampleQueries(java.util.List.of(hintAnnotation.exampleQueries())); + if (hintAnnotation.tags().length > 0) meta.setTags(java.util.List.of(hintAnnotation.tags())); + if (hintAnnotation.requiredEnvKeys().length > 0) meta.setRequiredEnvKeys(java.util.List.of(hintAnnotation.requiredEnvKeys())); + if (!hintAnnotation.ownerOrg().isBlank()) meta.setOwnerOrg(hintAnnotation.ownerOrg()); + } + Map prompts = new HashMap<>(); meta.setActionPrompts(prompts);