// Package projectscope resolves host retrieval filters using service-provided // lifecycle metadata. Stored/client settings never supply an authority mapping. package projectscope import ( "agent-system-backend/internal/store" "agent-system-backend/pkg/extension" core "agent-system-core" "context" ) func Resolve(ctx context.Context, host extension.Host, p extension.ProjectLifecycle, id core.ID) (core.ID, error) { if id == "" { return id, nil } if p.List == nil { return "", store.ErrNotFound } projects, err := p.List(ctx, host) if err != nil { return "", err } for _, project := range projects { domainID, _ := project.Settings["rdm.projectId"].(string) if project.ID != id && domainID != id { continue } state, _ := project.Settings["rdm.state"].(string) if domainID == "" || state != "ready" { return "", store.ErrNotFound } return core.ID(domainID), nil } return "", store.ErrNotFound }