@@ -324,36 +324,28 @@ function senderLabel(sender: ChatUser | undefined): string {
324324 * that belongs in a knowledge base is synced through the Google Drive connector
325325 * instead, which already handles size caps, OCR, and format parsing.
326326 */
327- function formatSpaceContent ( space : Space , messages : ChatMessage [ ] ) : string {
327+ function formatSpaceContent (
328+ space : Space ,
329+ messages : ChatMessage [ ]
330+ ) : { content : string ; messageCount : number } {
328331 const parts = new BoundedLines ( )
329332 parts . push ( `Space: ${ spaceTitle ( space ) } ` )
330333 const description = space . spaceDetails ?. description ?. trim ( )
331334 if ( description ) parts . push ( `Description: ${ description } ` )
332335 const guidelines = space . spaceDetails ?. guidelines ?. trim ( )
333336 if ( guidelines ) parts . push ( `Guidelines: ${ guidelines } ` )
334337
335- let headed = false
338+ let messageCount = 0
336339 for ( const message of messages ) {
337340 const text = message . text ?. trim ( ) || message . fallbackText ?. trim ( )
338341 if ( ! text ) continue
339- if ( ! headed ) {
340- parts . push ( '' , '--- Messages ---' )
341- headed = true
342- }
342+ if ( messageCount === 0 ) parts . push ( '' , '--- Messages ---' )
343343 const timestamp = message . createTime ?? ''
344344 if ( ! parts . push ( `[${ timestamp } ] ${ senderLabel ( message . sender ) } : ${ text } ` ) ) break
345+ messageCount += 1
345346 }
346347
347- return parts . join ( )
348- }
349-
350- /** Number of messages that actually contributed text to the transcript. */
351- function countIndexedMessages ( messages : ChatMessage [ ] ) : number {
352- let count = 0
353- for ( const message of messages ) {
354- if ( message . text ?. trim ( ) || message . fallbackText ?. trim ( ) ) count ++
355- }
356- return count
348+ return { content : parts . join ( ) , messageCount }
357349}
358350
359351export const googleChatConnector : ConnectorConfig = {
@@ -476,12 +468,12 @@ export const googleChatConnector: ConnectorConfig = {
476468 * leave a previously indexed transcript in place after the space was cleared
477469 * or `lookbackDays` was tightened past every message.
478470 */
479- const messageCount = countIndexedMessages ( messages )
471+ const { content , messageCount } = formatSpaceContent ( space , messages )
480472 const stub = spaceToStub ( space , maxMessages , lookbackDays , syncContext )
481473
482474 return {
483475 ...stub ,
484- content : formatSpaceContent ( space , messages ) ,
476+ content,
485477 contentDeferred : false ,
486478 metadata : { ...stub . metadata , messageCount } ,
487479 }
0 commit comments