Files
tutti/packages/agent/gui/agentGuiSessionProviderIconUrls.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

49 lines
1.6 KiB
TypeScript

import {
claudeCodeFlatFilledIconUrl,
codexFlatFilledIconUrl,
cursorFlatFilledIconUrl,
opencodeFlatFilledIconUrl,
resolveProviderIconAsset,
tuttiFlatFilledIconUrl
} from "./providerIconAssets.ts";
import { resolveAgentGUIProviderCatalogIdentity } from "./providerIdentityCatalog.ts";
import { cursorColorfulUrl } from "./managedAgentIconAssets.ts";
import { normalizeManagedAgentProvider } from "./shared/managedAgentProviders";
export {
claudeCodeFlatFilledIconUrl,
codexFlatFilledIconUrl,
cursorColorfulUrl,
cursorFlatFilledIconUrl,
opencodeFlatFilledIconUrl,
tuttiFlatFilledIconUrl
};
/**
* Colorful session icons, used where the icon renders as a real <img> avatar
* (collapsed workbench header, dock popup). Colorful assets keep their fill.
*/
export function resolveAgentGuiSessionProviderIconUrl(
provider: string | undefined
): string | null {
const identity = resolveAgentGUIProviderCatalogIdentity(
normalizeManagedAgentProvider(provider)
);
return resolveProviderIconAsset(identity?.iconKey, "sessionColorful");
}
/**
* Flat monochrome session icons, used where the icon renders through a CSS
* mask (e.g. the conversation rail rows). Colorful assets would collapse to a
* solid square under a mask, so these must be single-color glyphs with a
* transparent background.
*/
export function resolveAgentGuiSessionProviderFlatIconUrl(
provider: string | undefined
): string | null {
const identity = resolveAgentGUIProviderCatalogIdentity(
normalizeManagedAgentProvider(provider)
);
return resolveProviderIconAsset(identity?.iconKey, "sessionFlat");
}