Merge branch 'main' into feature/entra-id-azure-integration

This commit is contained in:
victorbjor 2025-10-14 08:46:46 +02:00 committed by GitHub
commit 631f4b3703
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
151 changed files with 3677 additions and 1242 deletions

View file

@ -214,6 +214,14 @@ export const bedrockEndpointSchema = baseEndpointSchema.merge(
}),
);
const modelItemSchema = z.union([
z.string(),
z.object({
name: z.string(),
description: z.string().optional(),
}),
]);
export const assistantEndpointSchema = baseEndpointSchema.merge(
z.object({
/* assistants specific */
@ -239,7 +247,7 @@ export const assistantEndpointSchema = baseEndpointSchema.merge(
apiKey: z.string().optional(),
models: z
.object({
default: z.array(z.string()).min(1),
default: z.array(modelItemSchema).min(1),
fetch: z.boolean().optional(),
userIdQuery: z.boolean().optional(),
})
@ -299,7 +307,7 @@ export const endpointSchema = baseEndpointSchema.merge(
apiKey: z.string(),
baseURL: z.string(),
models: z.object({
default: z.array(z.string()).min(1),
default: z.array(modelItemSchema).min(1),
fetch: z.boolean().optional(),
userIdQuery: z.boolean().optional(),
}),
@ -636,6 +644,7 @@ export type TStartupConfig = {
helpAndFaqURL: string;
customFooter?: string;
modelSpecs?: TSpecsConfig;
modelDescriptions?: Record<string, Record<string, string>>;
sharedLinksEnabled: boolean;
publicSharedLinksEnabled: boolean;
analyticsGtmId?: string;
@ -669,6 +678,7 @@ export type TStartupConfig = {
}
>;
mcpPlaceholder?: string;
conversationImportMaxFileSize?: number;
};
export enum OCRStrategy {

View file

@ -42,8 +42,11 @@ export function getSharedLink(conversationId: string): Promise<t.TSharedLinkGetR
return request.get(endpoints.getSharedLink(conversationId));
}
export function createSharedLink(conversationId: string): Promise<t.TSharedLinkResponse> {
return request.post(endpoints.createSharedLink(conversationId));
export function createSharedLink(
conversationId: string,
targetMessageId?: string,
): Promise<t.TSharedLinkResponse> {
return request.post(endpoints.createSharedLink(conversationId), { targetMessageId });
}
export function updateSharedLink(shareId: string): Promise<t.TSharedLinkResponse> {

View file

@ -62,6 +62,8 @@ const BaseOptionsSchema = z.object({
revocation_endpoint_auth_methods_supported: z.array(z.string()).optional(),
})
.optional(),
/** Custom headers to send with OAuth requests (registration, discovery, token exchange, etc.) */
oauth_headers: z.record(z.string(), z.string()).optional(),
customUserVars: z
.record(
z.string(),

View file

@ -15,6 +15,13 @@ export type TModelSpec = {
order?: number;
default?: boolean;
description?: string;
/**
* Optional group name for organizing specs in the UI selector.
* - If it matches an endpoint name (e.g., "openAI", "groq"), the spec appears nested under that endpoint
* - If it's a custom name (doesn't match any endpoint), it creates a separate collapsible group
* - If omitted, the spec appears as a standalone item at the top level
*/
group?: string;
showIconInMenu?: boolean;
showIconInHeader?: boolean;
iconURL?: string | EModelEndpoint; // Allow using project-included icons
@ -28,6 +35,7 @@ export const tModelSpecSchema = z.object({
order: z.number().optional(),
default: z.boolean().optional(),
description: z.string().optional(),
group: z.string().optional(),
showIconInMenu: z.boolean().optional(),
showIconInHeader: z.boolean().optional(),
iconURL: z.union([z.string(), eModelEndpointSchema]).optional(),