Integrate released catalog sources with effective configuration

This commit is contained in:
2026-09-30 02:46:33 +00:00
parent 2969a83a71
commit 17b6c7bca5
12 changed files with 398 additions and 579 deletions

View File

@@ -104,6 +104,11 @@ var envName = regexp.MustCompile(`^[A-Za-z_][A-Za-z0-9_]*$`)
var backendFields = []string{"endpoint", "api_key_env", "concurrency_limit", "queue_capacity", "extra_params"}
var profileFields = []string{"backend", "endpoint", "model", "temperature", "top_p", "max_tokens", "timeout_seconds", "service_tier", "reasoning_effort", "api_key_env", "api_key_required", "extra_params"}
// Load captures one immutable effective configuration for internal consumers.
func Load(main configkit.Input, underlays []configkit.Underlay) (*loaded, error) {
return load(main, underlays)
}
// load performs one ConfigKit lifecycle over the selected source tiers. Engine
// assembly is intentionally not connected to this adapter yet.
func load(main configkit.Input, underlays []configkit.Underlay) (*loaded, error) {

View File

@@ -169,3 +169,11 @@ func (state *loaded) GetProfile(ctx context.Context, id string) (*domain.Executi
profile.ResolvedTarget = &target
return &profile, nil
}
// GetBackend returns an independently owned effective backend definition.
func (state *loaded) GetBackend(id string) (domain.Backend, error) {
if state == nil {
return domain.Backend{}, fmt.Errorf("backend registry is not configured")
}
return state.registry.GetBackend(id)
}