Files
coder/site/static/icon/kilo-code.svg
T
Jake Howell adcdbfd562 feat: implement AI Bridge client table column (#22228)
Closes #22144

Add client information column to AI Bridge request logs, showing which
coding tool initiated each request with matching icons.

- Added `Client` column to request logs table header and row, displaying
client name with icon badge
- Created `AIBridgeClientIcon` component mapping backend client
constants to their icons (Claude Code, Codex, Kilo Code, Roo Code, Zed,
Cursor, GitHub Copilot)
([ref.](https://github.com/coder/aibridge/blob/11fe0799402a652743104d047140fbeb28f02d24/bridge.go#L33-L41))
- Moved `AIBridgeModelIcon` and `AIBridgeProviderIcon` into `icons/`
subdirectory and clean up `props.className` → `className` prop
- Added new static icons: `github-copilot.svg`, `kilo-code.svg`,
`roo-code.svg` with entries in `icons.json` and `externalImages.ts`
- Sorted `externalImages.ts` map alphabetically

| Name | Preview |
| --- | --- |
| GitHub Copilot | <img width="1332" height="67" alt="image 11"
src="https://github.com/user-attachments/assets/0b06ea42-aaf9-431b-9f9f-3a0146d3eb44"
/> |
| Claude | <img width="1332" height="327" alt="PREVIEW_CLAUDE"
src="https://github.com/user-attachments/assets/7e1afcbc-b94b-4017-bbdc-f40e0ca237d8"
/> |
| Codex CLI | <img width="1332" height="67" alt="PREVIEW_CODEX"
src="https://github.com/user-attachments/assets/2a9ffde1-2516-4d81-baf0-6e689d8a37bf"
/> |
| Cursor | <img width="1332" height="67" alt="PREVIEW_CURSOR"
src="https://github.com/user-attachments/assets/2c4883e8-35cd-4b08-8463-82ba7c95d96d"
/> |
| KiloCode | <img width="1332" height="132" alt="PREVIEW_KILO_CODE"
src="https://github.com/user-attachments/assets/e8bc2854-6fdb-47e0-a304-fb138ac0e2fe"
/> |
| Roo Code | <img width="1332" height="262" alt="PREVIEW_ROO_CODE"
src="https://github.com/user-attachments/assets/d2977090-525b-44ee-9ab6-e6019e559bbd"
/> |
| Zed | <img width="1332" height="67" alt="PREVIEW_ZED"
src="https://github.com/user-attachments/assets/1d982ae0-1d08-4b85-8b4a-5c13fb7754f1"
/> |
2026-02-25 02:38:57 +11:00

11 lines
903 B
XML

<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_14_12)">
<path d="M0 0V256H256V0H0ZM237.037 237.037H18.963V18.963H237.037V237.037ZM156.444 184.089H180.148V203.052H150.349L137.481 190.184V160.385H156.444V184.089ZM199.111 184.089H180.148V160.385H156.444V141.422H186.243L199.111 154.29V184.089ZM118.519 156.445H99.5556V137.482H118.519V156.445ZM56.8889 137.482H75.8518V180.149H118.519V199.112H69.7566L56.8889 186.244V137.482ZM199.111 99.5556V118.519H137.481V99.5556H158.674V75.8518H137.481V56.8889H164.769L177.637 69.7566V99.5556H199.111ZM75.8518 78.2222H99.5556L118.519 97.1852V118.519H99.5556V97.1852H75.8518V118.519H56.8889V56.8889H75.8518V78.2222ZM118.519 78.2222H99.5556V56.8889H118.519V78.2222Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_14_12">
<rect width="256" height="256" fill="white"/>
</clipPath>
</defs>
</svg>