mirror of
https://github.com/mudler/LocalAI.git
synced 2026-08-04 12:22:22 -04:00
* feat(mcp): add scheduling client contracts Assisted-by: Hephaestus:openai/gpt-5.5 Signed-off-by: Owen Adirah <owenadira@gmail.com> * feat(mcp): add scheduling HTTP client support Assisted-by: Hephaestus:openai/gpt-5.5 Signed-off-by: Owen Adirah <owenadira@gmail.com> * feat(mcp): add in-process scheduling stubs Assisted-by: Hephaestus:openai/gpt-5.5 Signed-off-by: Owen Adirah <owenadira@gmail.com> * feat(mcp): register scheduling tools Assisted-by: Hephaestus:openai/gpt-5.5 Signed-off-by: Owen Adirah <owenadira@gmail.com> * test(mcp): map scheduling tools to REST routes Assisted-by: Hephaestus:openai/gpt-5.5 Signed-off-by: Owen Adirah <owenadira@gmail.com> * docs(mcp): document scheduling assistant tools Assisted-by: Hephaestus:openai/gpt-5.5 Signed-off-by: Owen Adirah <owenadira@gmail.com> * fix(mcp): wire in-process scheduling Use an explicit MCP scheduling DTO and route in-process scheduling calls through the distributed node registry so the embedded assistant matches the REST scheduling surface. Assisted-by: Hephaestus:openai/gpt-5.5 Signed-off-by: Owen Adirah <owenadira@gmail.com> * fix(mcp): narrow scheduling dto Assisted-by: Hephaestus:openai/gpt-5.5 [opencode] Signed-off-by: Owen Adirah <owenadira@gmail.com> --------- Signed-off-by: Owen Adirah <owenadira@gmail.com>
26 lines
865 B
Go
26 lines
865 B
Go
package localaitools
|
|
|
|
import "github.com/mudler/LocalAI/core/services/nodes"
|
|
|
|
func SchedulingConfigFromNode(config nodes.ModelSchedulingConfig) ModelSchedulingConfig {
|
|
return ModelSchedulingConfig{
|
|
ModelName: config.ModelName,
|
|
NodeSelector: config.NodeSelector,
|
|
MinReplicas: config.MinReplicas,
|
|
MaxReplicas: config.MaxReplicas,
|
|
SpreadAll: config.SpreadAll,
|
|
RoutePolicy: config.RoutePolicy,
|
|
BalanceAbsThreshold: config.BalanceAbsThreshold,
|
|
BalanceRelThreshold: config.BalanceRelThreshold,
|
|
MinPrefixMatch: config.MinPrefixMatch,
|
|
}
|
|
}
|
|
|
|
func SchedulingConfigsFromNodes(configs []nodes.ModelSchedulingConfig) []ModelSchedulingConfig {
|
|
out := make([]ModelSchedulingConfig, 0, len(configs))
|
|
for _, config := range configs {
|
|
out = append(out, SchedulingConfigFromNode(config))
|
|
}
|
|
return out
|
|
}
|