Skip to content

Commit b17f88b

Browse files
committed
Fixes for assembling correct messages for gravity ads request
1 parent c15d7be commit b17f88b

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

cli/src/hooks/use-gravity-ad.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,18 +122,24 @@ export const useGravityAd = (): GravityAdState => {
122122
// Also check UI messages for the latest user message
123123
// (UI messages update immediately, runState.messageHistory updates after LLM responds)
124124
const uiMessages = useChatStore.getState().messages
125-
const latestUserMessage = [...uiMessages]
125+
const lastUIMessage = [...uiMessages]
126126
.reverse()
127127
.find((msg) => msg.variant === 'user')
128128

129129
// If the latest UI user message isn't in our converted history, append it
130130
// This ensures we always include the most recent user message even before LLM responds
131-
if (latestUserMessage?.content) {
131+
if (lastUIMessage?.content) {
132132
const lastAdUserMessage = [...adMessages]
133133
.reverse()
134134
.find((m) => m.role === 'user')
135-
if (lastAdUserMessage?.content !== latestUserMessage.content) {
136-
adMessages.push({ role: 'user', content: latestUserMessage.content })
135+
if (
136+
!lastAdUserMessage ||
137+
!lastAdUserMessage.content.includes(lastUIMessage.content)
138+
) {
139+
adMessages.push({
140+
role: 'user',
141+
content: `<user_message>${lastUIMessage.content}</user_message>`,
142+
})
137143
}
138144
}
139145

@@ -280,7 +286,10 @@ const convertToAdMessages = (messages: Message[]): AdMessage[] => {
280286
.filter(
281287
(message) => message.role === 'assistant' || message.role === 'user',
282288
)
283-
.filter((message) => !message.tags?.includes('USER_PROMPT'))
289+
.filter(
290+
(message) =>
291+
!message.tags || !message.tags.includes('INSTRUCTIONS_PROMPT'),
292+
)
284293
.map((message) => ({
285294
role: message.role,
286295
content: message.content

0 commit comments

Comments
 (0)