• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

inclusion-numerique / coop-mediation-numerique / c9ca4de7-7df9-4803-9097-965221aeff48

30 Apr 2026 08:37AM UTC coverage: 10.646% (+3.2%) from 7.419%
c9ca4de7-7df9-4803-9097-965221aeff48

push

circleci

web-flow
Merge pull request #489 from inclusion-numerique/infra-remove-project

Infra remove project

709 of 10650 branches covered (6.66%)

Branch coverage included in aggregate %.

1 of 2 new or added lines in 2 files covered. (50.0%)

931 existing lines in 96 files now uncovered.

2178 of 16468 relevant lines covered (13.23%)

2.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/apps/web/src/assistant/messageHasDiff.ts
1
import type { Message } from 'ai'
2
import { isEqual } from 'lodash-es'
3

UNCOV
4
export const messageHasDiff = (a: Message, b: Message) => {
×
5
  // basic properties diff
UNCOV
6
  if (
×
7
    a.id !== b.id ||
×
8
    a.role !== b.role ||
9
    (a.content || '') !== (b.content || '')
×
10
  ) {
11
    return true
×
12
  }
13

UNCOV
14
  if (
×
15
    a.parts?.length !== b.parts?.length ||
×
16
    a.annotations?.length !== b.annotations?.length ||
17
    a.experimental_attachments?.length !== b.experimental_attachments?.length
18
  ) {
19
    return true
×
20
  }
21

UNCOV
22
  if (
×
23
    !isEqual(a.parts ?? [], b.parts ?? []) ||
×
24
    !isEqual(a.annotations ?? [], b.annotations ?? []) ||
×
25
    !isEqual(a.experimental_attachments, b.experimental_attachments)
26
  ) {
UNCOV
27
    return true
×
28
  }
29

UNCOV
30
  return false
×
31
}
32

UNCOV
33
export const filterMessagesWithDiff = ({
×
34
  initialMessages,
35
  messages,
36
}: {
37
  initialMessages: Message[]
38
  messages: Message[]
39
}) => {
40
  const initialMessagesById = new Map(
×
41
    initialMessages.map((message) => [message.id, message]),
×
42
  )
43
  return messages.filter((message) => {
×
44
    const initialMessage = initialMessagesById.get(message.id)
×
45
    if (!initialMessage) {
×
46
      return true
×
47
    }
48

49
    return messageHasDiff(initialMessage, message)
×
50
  })
51
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc