📚 feat: Add Source Citations for File Search in Agents (#8652)

* feat: Source Citations for file_search in Agents

* Fix: Added citation limits and relevance score to app service. Removed duplicate tests

*  feat: implement Role-level toggle to optionally disable file Source Citation in Agents

* 🐛 fix: update mock for librechat-data-provider to include PermissionTypes and SystemRoles

---------

Co-authored-by: “Praneeth <praneeth.goparaju@slalom.com>
This commit is contained in:
Danny Avila 2025-07-25 00:07:37 -04:00
parent a955097faf
commit 52e59e40be
No known key found for this signature in database
GPG key ID: BF31EEB2C5CA0956
36 changed files with 1890 additions and 190 deletions

View file

@ -255,6 +255,9 @@ export const agentsEndpointSchema = baseEndpointSchema
recursionLimit: z.number().optional(),
disableBuilder: z.boolean().optional().default(false),
maxRecursionLimit: z.number().optional(),
maxCitations: z.number().min(1).max(50).optional().default(30),
maxCitationsPerFile: z.number().min(1).max(10).optional().default(7),
minRelevanceScore: z.number().min(0.0).max(1.0).optional().default(0.45),
allowedProviders: z.array(z.union([z.string(), eModelEndpointSchema])).optional(),
capabilities: z
.array(z.nativeEnum(AgentCapabilities))
@ -265,6 +268,9 @@ export const agentsEndpointSchema = baseEndpointSchema
.default({
disableBuilder: false,
capabilities: defaultAgentCapabilities,
maxCitations: 30,
maxCitationsPerFile: 7,
minRelevanceScore: 0.45,
});
export type TAgentsEndpoint = z.infer<typeof agentsEndpointSchema>;
@ -518,6 +524,7 @@ export const intefaceSchema = z
runCode: z.boolean().optional(),
webSearch: z.boolean().optional(),
fileSearch: z.boolean().optional(),
fileCitations: z.boolean().optional(),
})
.default({
endpointsMenu: true,
@ -534,6 +541,7 @@ export const intefaceSchema = z
runCode: true,
webSearch: true,
fileSearch: true,
fileCitations: true,
});
export type TInterfaceConfig = z.infer<typeof intefaceSchema>;