MCPcopy Create free account
hub / github.com/Noumena-Network/code / buildReactionTranscript

Function buildReactionTranscript

src/buddy/observer.ts:306–337  ·  view source on GitHub ↗
(
  messages: readonly Message[],
  toolOutput: string,
)

Source from the content-addressed store, hash-verified

304}
305
306function buildReactionTranscript(
307 messages: readonly Message[],
308 toolOutput: string,
309): string {
310 const lines: string[] = []
311 const recentMessages = messages.slice(-REACTION_TRANSCRIPT_WINDOW)
312
313 for (const message of recentMessages) {
314 if (message.type !== 'user' && message.type !== 'assistant') {
315 continue
316 }
317 if (message.isMeta) {
318 continue
319 }
320
321 const text =
322 message.type === 'user'
323 ? getUserMessageText(message)
324 : getAssistantMessageText(message)
325 if (text) {
326 lines.push(
327 `${message.type === 'user' ? 'user' : 'claude'}: ${text.slice(0, MAX_MESSAGE_CHARS)}`,
328 )
329 }
330 }
331
332 if (toolOutput) {
333 lines.push(`[tool output]\n${toolOutput.slice(-MAX_TOOL_OUTPUT_CHARS)}`)
334 }
335
336 return lines.join('\n')
337}
338
339async function postBuddyReaction(
340 companion: Companion,

Callers 1

fireCompanionObserverFunction · 0.85

Calls 2

getUserMessageTextFunction · 0.85
getAssistantMessageTextFunction · 0.85

Tested by

no test coverage detected