MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / normalizeAgentAccountModels

Function normalizeAgentAccountModels

agent/app/service/agents_utils.go:1280–1305  ·  view source on GitHub ↗
(account *model.AgentAccount, models []dto.AgentAccountModel)

Source from the content-addressed store, hash-verified

1278}
1279
1280func normalizeAgentAccountModels(account *model.AgentAccount, models []dto.AgentAccountModel) ([]dto.AgentAccountModel, error) {
1281 requested := append([]dto.AgentAccountModel(nil), models...)
1282 if len(requested) == 0 {
1283 return nil, fmt.Errorf("model is required")
1284 }
1285 normalized := make([]dto.AgentAccountModel, 0, len(requested))
1286 seen := make(map[string]struct{}, len(requested))
1287 for _, item := range requested {
1288 normalizedItem, err := normalizeAgentAccountModel(account, item)
1289 if err != nil {
1290 return nil, err
1291 }
1292 if strings.TrimSpace(normalizedItem.ID) == "" {
1293 continue
1294 }
1295 if _, ok := seen[normalizedItem.ID]; ok {
1296 continue
1297 }
1298 seen[normalizedItem.ID] = struct{}{}
1299 normalized = append(normalized, normalizedItem)
1300 }
1301 if len(normalized) == 0 {
1302 return nil, fmt.Errorf("model is required")
1303 }
1304 return normalized, nil
1305}
1306
1307func normalizeAgentAccountModel(account *model.AgentAccount, model dto.AgentAccountModel) (dto.AgentAccountModel, error) {
1308 modelID := strings.TrimSpace(model.ID)

Calls 1

Tested by

no test coverage detected