MCPcopy
hub / github.com/sipeed/picoclaw / RegisterHidden

Method RegisterHidden

pkg/tools/registry.go:92–118  ·  view source on GitHub ↗

RegisterHidden saves hidden tools (visible only via TTL)

(tool Tool)

Source from the content-addressed store, hash-verified

90
91// RegisterHidden saves hidden tools (visible only via TTL)
92func (r *ToolRegistry) RegisterHidden(tool Tool) {
93 r.mu.Lock()
94 defer r.mu.Unlock()
95 name := tool.Name()
96 if !r.toolAllowedLocked(name) {
97 logger.DebugCF(
98 "tools",
99 "Skipped hidden tool registration by agent allowlist",
100 map[string]any{"name": name},
101 )
102 return
103 }
104 if _, exists := r.tools[name]; exists {
105 logger.WarnCF("tools", "Hidden tool registration overwrites existing tool",
106 map[string]any{"name": name})
107 }
108 r.tools[name] = &ToolEntry{
109 Tool: tool,
110 IsCore: false,
111 TTL: 0,
112 }
113 if aware, ok := tool.(mediaStoreAware); ok && r.mediaStore != nil {
114 aware.SetMediaStore(r.mediaStore)
115 }
116 r.version.Add(1)
117 logger.DebugCF("tools", "Registered hidden tool", map[string]any{"name": name})
118}
119
120// SetMediaStore injects a MediaStore into all registered tools that can
121// consume it, and remembers it for future registrations.

Calls 6

toolAllowedLockedMethod · 0.95
DebugCFFunction · 0.92
WarnCFFunction · 0.92
NameMethod · 0.65
SetMediaStoreMethod · 0.65
AddMethod · 0.45