matrixcloud / internal /runtime /capabilities.go
github-actions[bot]
Deploy from 4dfd54f2
857a91b
Raw
History Blame Contribute Delete
1.12 kB
package runtime
import (
"github.com/agent-matrix/matrix-runtime/internal/config"
"github.com/agent-matrix/matrix-runtime/internal/models"
)
// Capabilities is the payload returned by GET /v1/capabilities.
type Capabilities struct {
Capabilities []string `json:"capabilities"`
Runtimes models.Runtimes `json:"runtimes"`
Limits Limits `json:"limits"`
}
// Limits reports the runtime's configured limits.
type Limits struct {
MaxTTLSeconds int `json:"max_ttl_seconds"`
MaxConcurrentJobs int `json:"max_concurrent_jobs"`
}
// SupportedCapabilities is the static list of job capabilities advertised.
var SupportedCapabilities = []string{
"mcp.test",
"mcp.run",
"model.inspect",
"model.pull",
"agent.run",
"tool.run",
}
// BuildCapabilities assembles the capability report from config and host probes.
func BuildCapabilities(cfg *config.Config) Capabilities {
return Capabilities{
Capabilities: SupportedCapabilities,
Runtimes: models.DetectRuntimes(),
Limits: Limits{
MaxTTLSeconds: cfg.MaxTTLSeconds,
MaxConcurrentJobs: cfg.MaxConcurrentJobs,
},
}
}