(model *ModelInfo)
| 532 | } |
| 533 | |
| 534 | func cloneModelInfo(model *ModelInfo) *ModelInfo { |
| 535 | if model == nil { |
| 536 | return nil |
| 537 | } |
| 538 | copyModel := *model |
| 539 | if len(model.SupportedGenerationMethods) > 0 { |
| 540 | copyModel.SupportedGenerationMethods = append([]string(nil), model.SupportedGenerationMethods...) |
| 541 | } |
| 542 | if len(model.SupportedParameters) > 0 { |
| 543 | copyModel.SupportedParameters = append([]string(nil), model.SupportedParameters...) |
| 544 | } |
| 545 | if len(model.SupportedInputModalities) > 0 { |
| 546 | copyModel.SupportedInputModalities = append([]string(nil), model.SupportedInputModalities...) |
| 547 | } |
| 548 | if len(model.SupportedOutputModalities) > 0 { |
| 549 | copyModel.SupportedOutputModalities = append([]string(nil), model.SupportedOutputModalities...) |
| 550 | } |
| 551 | if model.Thinking != nil { |
| 552 | copyThinking := *model.Thinking |
| 553 | if len(model.Thinking.Levels) > 0 { |
| 554 | copyThinking.Levels = append([]string(nil), model.Thinking.Levels...) |
| 555 | } |
| 556 | copyModel.Thinking = ©Thinking |
| 557 | } |
| 558 | return ©Model |
| 559 | } |
| 560 | |
| 561 | func cloneModelInfosUnique(models []*ModelInfo) []*ModelInfo { |
| 562 | if len(models) == 0 { |
no outgoing calls
no test coverage detected