( ctx context.Context, scope toolspkg.Scope, req toolspkg.CallRequest, )
| 1229 | } |
| 1230 | |
| 1231 | func (n *daemonNativeTools) skillSearch( |
| 1232 | ctx context.Context, |
| 1233 | scope toolspkg.Scope, |
| 1234 | req toolspkg.CallRequest, |
| 1235 | ) (toolspkg.ToolResult, error) { |
| 1236 | var input skillSearchInput |
| 1237 | if err := decodeNativeInput(req, &input); err != nil { |
| 1238 | return toolspkg.ToolResult{}, err |
| 1239 | } |
| 1240 | skillList, err := n.skillsFor(ctx, scope, req.ToolID, input.WorkspaceID) |
| 1241 | if err != nil { |
| 1242 | return toolspkg.ToolResult{}, err |
| 1243 | } |
| 1244 | filtered := searchSkills(skillList, input.Query) |
| 1245 | payload := core.SkillPayloadsFromSkills(limitSkills(filtered, input.Limit)) |
| 1246 | return structuredResult( |
| 1247 | map[string]any{nativeToolsSkillsKey: payload}, |
| 1248 | fmt.Sprintf("%d skills", len(payload)), |
| 1249 | ) |
| 1250 | } |
| 1251 | |
| 1252 | func (n *daemonNativeTools) skillView( |
| 1253 | ctx context.Context, |
nothing calls this directly
no test coverage detected