MCPcopy
hub / github.com/Dimillian/CodexMonitor / parseCollabToolCallItem

Function parseCollabToolCallItem

src/utils/threadItems.collab.ts:299–369  ·  view source on GitHub ↗
(
  item: Record<string, unknown>,
)

Source from the content-addressed store, hash-verified

297}
298
299export function parseCollabToolCallItem(
300 item: Record<string, unknown>,
301): Extract<ConversationItem, { kind: "tool" }> {
302 const tool = asString(item.tool ?? "");
303 const status = asString(item.status ?? "");
304 const senderThreadId = asString(item.senderThreadId ?? item.sender_thread_id ?? "");
305 const sender = buildCollabAgentRef(
306 senderThreadId,
307 item.senderAgentNickname ??
308 item.sender_agent_nickname ??
309 item.agentNickname ??
310 item.agent_nickname,
311 item.senderAgentRole ??
312 item.sender_agent_role ??
313 item.agentRole ??
314 item.agent_role ??
315 item.agentType ??
316 item.agent_type,
317 );
318 const receiverFromInteraction = buildCollabAgentRef(
319 item.receiverThreadId ?? item.receiver_thread_id,
320 item.receiverAgentNickname ?? item.receiver_agent_nickname,
321 item.receiverAgentRole ??
322 item.receiver_agent_role ??
323 item.receiverAgentType ??
324 item.receiver_agent_type,
325 );
326 const receiverFromSpawn = buildCollabAgentRef(
327 item.newThreadId ?? item.new_thread_id,
328 item.newAgentNickname ?? item.new_agent_nickname,
329 item.newAgentRole ?? item.new_agent_role ?? item.newAgentType ?? item.new_agent_type,
330 );
331 const receiverIds = [
332 ...normalizeStringList(item.receiverThreadId ?? item.receiver_thread_id),
333 ...normalizeStringList(item.receiverThreadIds ?? item.receiver_thread_ids),
334 ...normalizeStringList(item.newThreadId ?? item.new_thread_id),
335 ]
336 .map((entry) => buildCollabAgentRef(entry))
337 .filter((entry): entry is CollabAgentRef => Boolean(entry));
338 const receiverAgents = mergeCollabAgentRefs(
339 receiverIds,
340 parseCollabAgentRefs(item.receiverAgents ?? item.receiver_agents),
341 receiverFromInteraction ? [receiverFromInteraction] : [],
342 receiverFromSpawn ? [receiverFromSpawn] : [],
343 );
344 const collabStatuses = withCollabAgentMetadata(
345 mergeCollabAgentStatuses(
346 parseCollabAgentStatuses(item.agentStatuses ?? item.agent_statuses),
347 parseCollabAgentStatusesFromMap(item.statuses),
348 parseCollabAgentStatusesFromMap(
349 item.agentStatus ?? item.agentsStates ?? item.agents_states,
350 ),
351 ),
352 receiverAgents,
353 );
354 const prompt = asString(item.prompt ?? "");
355 const primaryReceiver = receiverFromInteraction ?? receiverFromSpawn ?? receiverAgents[0];
356 return {

Callers 1

buildConversationItemFunction · 0.90

Calls 11

asStringFunction · 0.90
normalizeStringListFunction · 0.90
buildCollabAgentRefFunction · 0.85
mergeCollabAgentRefsFunction · 0.85
parseCollabAgentRefsFunction · 0.85
withCollabAgentMetadataFunction · 0.85
mergeCollabAgentStatusesFunction · 0.85
parseCollabAgentStatusesFunction · 0.85
buildCollabDetailFunction · 0.85
buildCollabOutputFunction · 0.85

Tested by

no test coverage detected