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

Function mapAssistantMessage

src/services/vcr.ts:238–276  ·  view source on GitHub ↗
(
  message: AssistantMessage,
  f: (s: unknown) => unknown,
  index: number,
  uuid?: UUID,
)

Source from the content-addressed store, hash-verified

236}
237
238function mapAssistantMessage(
239 message: AssistantMessage,
240 f: (s: unknown) => unknown,
241 index: number,
242 uuid?: UUID,
243): AssistantMessage {
244 return {
245 // Use provided UUID if given (hydrate path uses randomUUID for globally unique IDs),
246 // otherwise fall back to deterministic index-based UUID (dehydrate/fixture path).
247 // sessionStorage.ts deduplicates messages by UUID, so without unique UUIDs across
248 // VCR calls, resumed sessions would treat different responses as duplicates.
249 uuid: uuid ?? (`UUID-${index}` as unknown as UUID),
250 requestId: 'REQUEST_ID',
251 timestamp: message.timestamp,
252 message: {
253 ...message.message,
254 content: message.message.content
255 .map(_ => {
256 switch (_.type) {
257 case 'text':
258 return {
259 ..._,
260 text: f(_.text) as string,
261 citations: _.citations || [],
262 } // Ensure citations
263 case 'tool_use':
264 return {
265 ..._,
266 input: mapValuesDeep(_.input as Record<string, unknown>, f),
267 }
268 default:
269 return _ // Handle other block types unchanged
270 }
271 })
272 .filter(Boolean) as BetaContentBlock[],
273 },
274 type: 'assistant',
275 }
276}
277
278function mapMessage(
279 message: AssistantMessage | SystemAPIErrorMessage | StreamEvent,

Callers 1

mapMessageFunction · 0.85

Calls 2

mapValuesDeepFunction · 0.85
fFunction · 0.50

Tested by

no test coverage detected