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
49 lines
1.6 KiB
TypeScript
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");
|
|
}
|