Files
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

46 lines
1.6 KiB
Go

package providerregistry
import "fmt"
// NativeSubscriptionTarget is the credential-free local runtime route used to
// validate one official subscription protocol.
type NativeSubscriptionTarget struct {
ProviderID string
AgentTargetID string
}
// ResolveNativeSubscriptionTarget returns the registry-owned official
// subscription probe route. ValidateMigrated guarantees at most one route per
// protocol, so consumers never branch on provider identity.
func ResolveNativeSubscriptionTarget(protocol ModelPlanProtocol) (NativeSubscriptionTarget, bool) {
for _, descriptor := range migratedDescriptors {
endpoint := descriptor.Runtime.Endpoint
if endpoint.NativeSubscription && endpoint.ModelPlanProtocol == protocol {
return NativeSubscriptionTarget{
ProviderID: descriptor.Identity.ID,
AgentTargetID: descriptor.Target.ID,
}, true
}
}
return NativeSubscriptionTarget{}, false
}
func validateNativeSubscriptions(descriptors []ProviderDescriptor) error {
protocols := map[ModelPlanProtocol]string{}
for _, descriptor := range descriptors {
endpoint := descriptor.Runtime.Endpoint
if !endpoint.NativeSubscription {
continue
}
providerID := normalize(descriptor.Identity.ID)
if endpoint.ModelPlanProtocol == "" {
return fmt.Errorf("provider %q native subscription requires a model plan protocol", providerID)
}
if owner, exists := protocols[endpoint.ModelPlanProtocol]; exists {
return fmt.Errorf("native subscription protocol %q is shared by %q and %q", endpoint.ModelPlanProtocol, owner, providerID)
}
protocols[endpoint.ModelPlanProtocol] = providerID
}
return nil
}