MCPcopy
hub / github.com/codeaashu/claude-code / normalizeMessage

Function normalizeMessage

src/utils/queryHelpers.ts:102–222  ·  view source on GitHub ↗
(message: Message)

Source from the content-addressed store, hash-verified

100const toolProgressLastSentTime = new Map<string, number>()
101
102export function* normalizeMessage(message: Message): Generator<SDKMessage> {
103 switch (message.type) {
104 case 'assistant':
105 for (const _ of normalizeMessages([message])) {
106 // Skip empty messages (e.g., "(no content)") that shouldn't be output to SDK
107 if (!isNotEmptyMessage(_)) {
108 continue
109 }
110 yield {
111 type: 'assistant',
112 message: _.message,
113 parent_tool_use_id: null,
114 session_id: getSessionId(),
115 uuid: _.uuid,
116 error: _.error,
117 }
118 }
119 return
120 case 'progress':
121 if (
122 message.data.type === 'agent_progress' ||
123 message.data.type === 'skill_progress'
124 ) {
125 for (const _ of normalizeMessages([message.data.message])) {
126 switch (_.type) {
127 case 'assistant':
128 // Skip empty messages (e.g., "(no content)") that shouldn't be output to SDK
129 if (!isNotEmptyMessage(_)) {
130 break
131 }
132 yield {
133 type: 'assistant',
134 message: _.message,
135 parent_tool_use_id: message.parentToolUseID,
136 session_id: getSessionId(),
137 uuid: _.uuid,
138 error: _.error,
139 }
140 break
141 case 'user':
142 yield {
143 type: 'user',
144 message: _.message,
145 parent_tool_use_id: message.parentToolUseID,
146 session_id: getSessionId(),
147 uuid: _.uuid,
148 timestamp: _.timestamp,
149 isSynthetic: _.isMeta || _.isVisibleInTranscriptOnly,
150 tool_use_result: _.mcpMeta
151 ? { content: _.toolUseResult, ..._.mcpMeta }
152 : _.toolUseResult,
153 }
154 break
155 }
156 }
157 } else if (
158 message.data.type === 'bash_progress' ||
159 message.data.type === 'powershell_progress'

Callers 1

submitMessageMethod · 0.85

Calls 9

normalizeMessagesFunction · 0.85
isNotEmptyMessageFunction · 0.85
getSessionIdFunction · 0.85
isEnvTruthyFunction · 0.85
nextMethod · 0.80
keysMethod · 0.80
getMethod · 0.65
deleteMethod · 0.65
setMethod · 0.45

Tested by

no test coverage detected