Files
WeKnora/client/skill.go
wizardchen daa9ef500c feat: add agent management functionality
- Introduced a new package for managing custom agents, including CRUD operations for agent creation, retrieval, updating, and deletion.
- Implemented API endpoints for listing agents and retrieving agent placeholders.
- Added data structures for agent configuration and requests, enhancing the overall agent management capabilities.
- Enhanced the client with methods to interact with the new agent management features, improving user experience in managing agents.

These changes significantly expand the application's functionality for handling custom agents, providing users with a comprehensive toolset for agent management.
2026-03-09 17:34:13 +08:00

35 lines
853 B
Go

package client
import (
"context"
"net/http"
)
// SkillInfo represents skill metadata
type SkillInfo struct {
Name string `json:"name"`
Description string `json:"description"`
}
// SkillListResponse represents the response from listing skills
type SkillListResponse struct {
Success bool `json:"success"`
Data []SkillInfo `json:"data"`
SkillsAvailable bool `json:"skills_available"`
}
// ListSkills lists all preloaded agent skills
func (c *Client) ListSkills(ctx context.Context) ([]SkillInfo, bool, error) {
resp, err := c.doRequest(ctx, http.MethodGet, "/api/v1/skills", nil, nil)
if err != nil {
return nil, false, err
}
var response SkillListResponse
if err := parseResponse(resp, &response); err != nil {
return nil, false, err
}
return response.Data, response.SkillsAvailable, nil
}