🆕 feat: Enhanced Title Generation Config Options (#8580)

* 🏗️ refactor: Extract reasoning key logic into separate function

* refactor: Ensure `overrideProvider` is always defined in `getProviderConfig` result, and only used in `initializeAgent` if different from `agent.provider`

* feat: new title configuration options across services

- titlePrompt
- titleEndpoint
- titlePromptTemplate
- new "completion" titleMethod (new default)

* chore: update @librechat/agents and conform openai version to prevent SDK errors

* chore: add form-data package as a dependency and override to v4.0.4 to address CVE-2025-7783

* feat: add support for 'all' endpoint configuration in AppService and corresponding tests

* refactor: replace HttpsProxyAgent with ProxyAgent from undici for improved proxy handling in assistant initialization

* chore: update frontend review workflow to limit package paths to data-provider

* chore: update backend review workflow to include all package paths
This commit is contained in:
Danny Avila 2025-07-21 17:37:37 -04:00 committed by GitHub
parent aec1777a90
commit 14660d75ae
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 2666 additions and 196 deletions

View file

@ -185,6 +185,12 @@ export const baseEndpointSchema = z.object({
baseURL: z.string().optional(),
titlePrompt: z.string().optional(),
titleModel: z.string().optional(),
titleConvo: z.boolean().optional(),
titleMethod: z
.union([z.literal('completion'), z.literal('functions'), z.literal('structured')])
.optional(),
titleEndpoint: z.string().optional(),
titlePromptTemplate: z.string().optional(),
});
export type TBaseEndpoint = z.infer<typeof baseEndpointSchema>;
@ -225,8 +231,6 @@ export const assistantEndpointSchema = baseEndpointSchema.merge(
userIdQuery: z.boolean().optional(),
})
.optional(),
titleConvo: z.boolean().optional(),
titleMethod: z.union([z.literal('completion'), z.literal('functions')]).optional(),
headers: z.record(z.any()).optional(),
}),
);
@ -279,8 +283,6 @@ export const endpointSchema = baseEndpointSchema.merge(
fetch: z.boolean().optional(),
userIdQuery: z.boolean().optional(),
}),
titleConvo: z.boolean().optional(),
titleMethod: z.union([z.literal('completion'), z.literal('functions')]).optional(),
summarize: z.boolean().optional(),
summaryModel: z.string().optional(),
forcePrompt: z.boolean().optional(),
@ -315,6 +317,8 @@ export const azureEndpointSchema = z
titleConvo: true,
titleMethod: true,
titleModel: true,
titlePrompt: true,
titlePromptTemplate: true,
summarize: true,
summaryModel: true,
customOrder: true,