Files
tutti/packages/agent/gui/shared/managedAgentProviders.ts
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

35 lines
874 B
TypeScript

import { resolveAgentGUIProviderCatalogIdentity } from "../providerIdentityCatalog.ts";
export function normalizeManagedAgentProvider(
provider: string | undefined
): string {
const normalized =
provider
?.trim()
.toLowerCase()
.replace(/[_\s]+/gu, "-") ?? "";
return (
resolveAgentGUIProviderCatalogIdentity(normalized)?.iconKey ??
(normalized === "tutti-doc" ? "tutti" : normalized)
);
}
/** Providers still shipping in preview; the hero surfaces a "Beta" tag for them. */
const BETA_AGENT_PROVIDERS: ReadonlySet<string> = new Set([
"opencode",
"cursor",
"acp:hermes",
"hermes",
"acp:kimi-code",
"kimi-code"
]);
export function isBetaAgentProvider(
provider: string | null | undefined
): boolean {
if (!provider) {
return false;
}
return BETA_AGENT_PROVIDERS.has(normalizeManagedAgentProvider(provider));
}