| 1234567891011121314151617181920212223242526272829303132 |
- export interface ChatPageModelInfo {
- readonly id: string;
- readonly name?: string;
- }
- export interface ChatPageModelGroup {
- readonly service: string;
- readonly label: string;
- readonly models: ReadonlyArray<ChatPageModelInfo>;
- }
- export function shouldUseFreshBookCreateSession(activeBookId?: string): boolean {
- return !activeBookId;
- }
- export function filterModelGroups(
- groupedModels: ReadonlyArray<ChatPageModelGroup>,
- search: string,
- ): ReadonlyArray<ChatPageModelGroup> {
- const query = search.trim().toLowerCase();
- if (!query) return groupedModels;
- return groupedModels
- .map((group) => ({
- ...group,
- models: group.models.filter((model) =>
- (model.name ?? model.id).toLowerCase().includes(query)
- || group.label.toLowerCase().includes(query),
- ),
- }))
- .filter((group) => group.models.length > 0);
- }
|