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

Function mapMessages

src/services/vcr.ts:175–219  ·  view source on GitHub ↗
(
  messages: (UserMessage | AssistantMessage)['message']['content'][],
  f: (s: unknown) => unknown,
)

Source from the content-addressed store, hash-verified

173}
174
175function mapMessages(
176 messages: (UserMessage | AssistantMessage)['message']['content'][],
177 f: (s: unknown) => unknown,
178): (UserMessage | AssistantMessage)['message']['content'][] {
179 return messages.map(_ => {
180 if (typeof _ === 'string') {
181 return f(_)
182 }
183 return _.map(_ => {
184 switch (_.type) {
185 case 'tool_result':
186 if (typeof _.content === 'string') {
187 return { ..._, content: f(_.content) }
188 }
189 if (Array.isArray(_.content)) {
190 return {
191 ..._,
192 content: _.content.map(_ => {
193 switch (_.type) {
194 case 'text':
195 return { ..._, text: f(_.text) }
196 case 'image':
197 return _
198 default:
199 return undefined
200 }
201 }),
202 }
203 }
204 return _
205 case 'text':
206 return { ..._, text: f(_.text) }
207 case 'tool_use':
208 return {
209 ..._,
210 input: mapValuesDeep(_.input as Record<string, unknown>, f),
211 }
212 case 'image':
213 return _
214 default:
215 return undefined
216 }
217 })
218 }) as (UserMessage | AssistantMessage)['message']['content'][]
219}
220
221function mapValuesDeep(
222 obj: {

Callers 1

withVCRFunction · 0.85

Calls 2

mapValuesDeepFunction · 0.85
fFunction · 0.50

Tested by

no test coverage detected