@@ -7,7 +7,8 @@ const SUMMARY_ID_HASH_LENGTH = 16
77const DCP_BLOCK_ID_TAG_REGEX = / ( < d c p - m e s s a g e - i d (? = [ \s > ] ) [ ^ > ] * > ) b \d + ( < \/ d c p - m e s s a g e - i d > ) / g
88const DCP_PAIRED_TAG_REGEX = / < d c p [ ^ > ] * > [ \s \S ] * ?< \/ d c p [ ^ > ] * > / gi
99const DCP_UNPAIRED_TAG_REGEX = / < \/ ? d c p [ ^ > ] * > / gi
10- const HALLUCINATED_PARAMETER_SUFFIX_REGEX = / \n m \d + < \/ p a r a m e t e r > \s * $ /
10+ const INJECTED_MESSAGE_ID_SUFFIX_REGEX = / (?< = \n ) < d c p - m e s s a g e - i d [ ^ > ] * > m \d + < \/ d c p - m e s s a g e - i d > \s * $ /
11+ const HALLUCINATED_PARAMETER_SUFFIX_REGEX = / (?< = \n ) m \d + < \/ p a r a m e t e r > \s * $ /
1112
1213const generateStableId = ( prefix : string , seed : string ) : string => {
1314 const hash = createHash ( "sha256" ) . update ( seed ) . digest ( "hex" ) . slice ( 0 , SUMMARY_ID_HASH_LENGTH )
@@ -164,8 +165,12 @@ export const replaceBlockIdsWithBlocked = (text: string): string => {
164165}
165166
166167export const stripHallucinationsFromString = ( text : string ) : string => {
167- const withoutHallucinatedParameter = text . replace ( HALLUCINATED_PARAMETER_SUFFIX_REGEX , "" )
168- return withoutHallucinatedParameter . replace ( DCP_PAIRED_TAG_REGEX , "" ) . replace ( DCP_UNPAIRED_TAG_REGEX , "" )
168+ const withoutKnownSuffixes = text
169+ . replace ( INJECTED_MESSAGE_ID_SUFFIX_REGEX , "" )
170+ . replace ( HALLUCINATED_PARAMETER_SUFFIX_REGEX , "" )
171+ return withoutKnownSuffixes
172+ . replace ( DCP_PAIRED_TAG_REGEX , "" )
173+ . replace ( DCP_UNPAIRED_TAG_REGEX , "" )
169174}
170175
171176export const stripHallucinations = ( messages : WithParts [ ] ) : void => {
0 commit comments