mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-10-22 10:02:41 +00:00
Merge remote-tracking branch 'origin/dev' into claude/ptc-progress-cli-display-ws0lb0
This commit is contained in:
commit
4bf68e18a4
2 changed files with 49 additions and 1 deletions
|
|
@ -3211,6 +3211,52 @@ describe('AgentClient - titleConvo', () => {
|
||||||
).toThrow(expect.objectContaining({ code: 'content_filter_block' }));
|
).toThrow(expect.objectContaining({ code: 'content_filter_block' }));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('preserves persisted assistant attribution at the final agent provider boundary', async () => {
|
||||||
|
const marker = 'E2E-PERSISTED-UNATTRIBUTED-ASSISTANT';
|
||||||
|
mockReq.config.filters = {
|
||||||
|
messages: {
|
||||||
|
pii: {
|
||||||
|
fields: ['text'],
|
||||||
|
starterPatterns: [],
|
||||||
|
customPatterns: [
|
||||||
|
{
|
||||||
|
id: 'persisted-unattributed-assistant',
|
||||||
|
label: 'persisted unattributed assistant content',
|
||||||
|
regex: `^${marker}$`,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
unattributedAssistantContent: 'inspect',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const storedMessage = {
|
||||||
|
messageId: 'legacy-assistant',
|
||||||
|
parentMessageId: null,
|
||||||
|
sender: 'Assistant',
|
||||||
|
text: marker,
|
||||||
|
isCreatedByUser: false,
|
||||||
|
};
|
||||||
|
client.setModelBoundStoredMessages([storedMessage]);
|
||||||
|
|
||||||
|
const result = await client.buildMessages([storedMessage], 'legacy-assistant', {}, {});
|
||||||
|
const { messages: providerMessages } = jest
|
||||||
|
.requireActual('@librechat/agents')
|
||||||
|
.formatAgentMessages(result.prompt);
|
||||||
|
|
||||||
|
expect(() =>
|
||||||
|
client
|
||||||
|
.createModelBoundChatModelCallback()
|
||||||
|
.handleChatModelStart(undefined, [providerMessages]),
|
||||||
|
).toThrow(expect.objectContaining({ code: 'content_filter_block' }));
|
||||||
|
|
||||||
|
client.setModelBoundStoredMessages([{ ...storedMessage, isUserSubmitted: false }]);
|
||||||
|
expect(() =>
|
||||||
|
client
|
||||||
|
.createModelBoundChatModelCallback()
|
||||||
|
.handleChatModelStart(undefined, [providerMessages]),
|
||||||
|
).not.toThrow();
|
||||||
|
});
|
||||||
|
|
||||||
it('ignores historical file refs when this agent does not replay files', async () => {
|
it('ignores historical file refs when this agent does not replay files', async () => {
|
||||||
mockReq.config.filters = {
|
mockReq.config.filters = {
|
||||||
files: {
|
files: {
|
||||||
|
|
|
||||||
|
|
@ -1986,7 +1986,9 @@ function projectStoredMessageForProvider(
|
||||||
role: message.role,
|
role: message.role,
|
||||||
isCreatedByUser: message.isCreatedByUser,
|
isCreatedByUser: message.isCreatedByUser,
|
||||||
isUserSubmitted: message.isUserSubmitted,
|
isUserSubmitted: message.isUserSubmitted,
|
||||||
...(selectedContentPartIndices == null && messageContentCandidate == null && storedText != null
|
...(messageContentCandidate == null &&
|
||||||
|
storedText != null &&
|
||||||
|
(selectedContentPartIndices == null || selectedContentPartIndices.has(0))
|
||||||
? { text: storedText }
|
? { text: storedText }
|
||||||
: {}),
|
: {}),
|
||||||
...(attribution === 'user' && {
|
...(attribution === 'user' && {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue