MCPcopy Create free account
hub / github.com/codeaashu/claude-code / toInternalMessages

Function toInternalMessages

src/utils/messages/mappers.ts:26–74  ·  view source on GitHub ↗
(
  messages: readonly DeepImmutable<SDKMessage>[],
)

Source from the content-addressed store, hash-verified

24import { getPlan } from '../plans.js'
25
26export function toInternalMessages(
27 messages: readonly DeepImmutable<SDKMessage>[],
28): Message[] {
29 return messages.flatMap(message => {
30 switch (message.type) {
31 case 'assistant':
32 return [
33 {
34 type: 'assistant',
35 message: message.message,
36 uuid: message.uuid,
37 requestId: undefined,
38 timestamp: new Date().toISOString(),
39 } as Message,
40 ]
41 case 'user':
42 return [
43 {
44 type: 'user',
45 message: message.message,
46 uuid: message.uuid ?? randomUUID(),
47 timestamp: message.timestamp ?? new Date().toISOString(),
48 isMeta: message.isSynthetic,
49 } as Message,
50 ]
51 case 'system':
52 // Handle compact boundary messages
53 if (message.subtype === 'compact_boundary') {
54 const compactMsg = message
55 return [
56 {
57 type: 'system',
58 content: 'Conversation compacted',
59 level: 'info',
60 subtype: 'compact_boundary',
61 compactMetadata: fromSDKCompactMetadata(
62 compactMsg.compact_metadata,
63 ),
64 uuid: message.uuid,
65 timestamp: new Date().toISOString(),
66 },
67 ]
68 }
69 return []
70 default:
71 return []
72 }
73 })
74}
75
76type SDKCompactMetadata = SDKCompactBoundaryMessage['compact_metadata']
77

Callers 2

runHeadlessStreamingFunction · 0.85

Calls 1

fromSDKCompactMetadataFunction · 0.85

Tested by

no test coverage detected