ECLIPSE THEIA - AI CHAT UI EXTENSION
## Description
The `@theia/ai-chat-ui` extension contributes the `AI Chat` view.\
The `AI Chat view` can be used to easily communicate with a language model.
It is based on `@theia/ai-chat`.
## Custom Tool Renderers
To create a specialized renderer for a specific tool, implement the `ChatResponsePartRenderer` interface with a higher priority than the default `ToolCallPartRenderer` (priority `10`):
```typescript
@injectable()
export class MyToolRenderer implements ChatResponsePartRenderer {
canHandle(response: ChatResponseContent): number {
if (ToolCallChatResponseContent.is(response) && response.name === 'my_tool_id') {
return 15;
}
return -1;
}
render(response: ToolCallChatResponseContent, parentNode: ResponseNode): ReactNode {
// Custom rendering logic
}
}
```
For custom confirmation UIs, use the `ToolConfirmationActions` component to reuse the standard Allow/Deny buttons with dropdown options:
```typescript
import { ToolConfirmationActions } from '@theia/ai-chat-ui/lib/browser/chat-response-renderer/tool-confirmation';
response.confirm()}
onDeny={(mode) => response.deny()}
/>
```
## Additional Information
- [API documentation for `@theia/ai-chat-ui`](https://eclipse-theia.github.io/theia/docs/next/modules/_theia_ai-chat-ui.html)
- [Theia - GitHub](https://github.com/eclipse-theia/theia)
- [Theia - Website](https://theia-ide.org/)
## License
- [Eclipse Public License 2.0](http://www.eclipse.org/legal/epl-2.0/)
- [δΈ€ (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](https://projects.eclipse.org/license/secondary-gpl-2.0-cp)
## Trademark
"Theia" is a trademark of the Eclipse Foundation