mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-25 09:35:52 +00:00
Merge pull request #1284 from wsolarq11/fix/messages-boundary-null-error
fix: prevent null reference reading 'error' in MessagesBoundary
This commit is contained in:
@@ -753,6 +753,7 @@ export function normalizeMessages(messages: Message[]): NormalizedMessage[] {
|
|||||||
// and remains true for all subsequent messages in the normalization process.
|
// and remains true for all subsequent messages in the normalization process.
|
||||||
let isNewChain = false
|
let isNewChain = false
|
||||||
return messages.flatMap(message => {
|
return messages.flatMap(message => {
|
||||||
|
if (!message) return []
|
||||||
switch (message.type) {
|
switch (message.type) {
|
||||||
case 'assistant': {
|
case 'assistant': {
|
||||||
const aMsg = message as AssistantMessage
|
const aMsg = message as AssistantMessage
|
||||||
@@ -776,7 +777,7 @@ export function normalizeMessages(messages: Message[]): NormalizedMessage[] {
|
|||||||
isVirtual: message.isVirtual,
|
isVirtual: message.isVirtual,
|
||||||
requestId: message.requestId,
|
requestId: message.requestId,
|
||||||
uuid,
|
uuid,
|
||||||
error: message.error,
|
error: message?.error,
|
||||||
isApiErrorMessage: message.isApiErrorMessage,
|
isApiErrorMessage: message.isApiErrorMessage,
|
||||||
advisorModel: message.advisorModel,
|
advisorModel: message.advisorModel,
|
||||||
} as NormalizedAssistantMessage
|
} as NormalizedAssistantMessage
|
||||||
@@ -2376,6 +2377,7 @@ export function normalizeMessagesForAPI(
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
.forEach(message => {
|
.forEach(message => {
|
||||||
|
if (!message) return []
|
||||||
switch (message.type) {
|
switch (message.type) {
|
||||||
case 'system': {
|
case 'system': {
|
||||||
// local_command system messages need to be included as user messages
|
// local_command system messages need to be included as user messages
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ export function toInternalMessages(
|
|||||||
messages: readonly DeepImmutable<SDKMessage>[],
|
messages: readonly DeepImmutable<SDKMessage>[],
|
||||||
): Message[] {
|
): Message[] {
|
||||||
return messages.flatMap(message => {
|
return messages.flatMap(message => {
|
||||||
|
if (!message) return []
|
||||||
switch (message.type) {
|
switch (message.type) {
|
||||||
case 'assistant':
|
case 'assistant':
|
||||||
return [
|
return [
|
||||||
@@ -127,6 +128,7 @@ export function fromSDKCompactMetadata(
|
|||||||
|
|
||||||
export function toSDKMessages(messages: Message[]): SDKMessage[] {
|
export function toSDKMessages(messages: Message[]): SDKMessage[] {
|
||||||
return messages.flatMap((message): SDKMessage[] => {
|
return messages.flatMap((message): SDKMessage[] => {
|
||||||
|
if (!message) return []
|
||||||
switch (message.type) {
|
switch (message.type) {
|
||||||
case 'assistant':
|
case 'assistant':
|
||||||
return [
|
return [
|
||||||
@@ -138,7 +140,7 @@ export function toSDKMessages(messages: Message[]): SDKMessage[] {
|
|||||||
session_id: getSessionId(),
|
session_id: getSessionId(),
|
||||||
parent_tool_use_id: null,
|
parent_tool_use_id: null,
|
||||||
uuid: message.uuid,
|
uuid: message.uuid,
|
||||||
error: message.error,
|
error: message?.error,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
case 'user':
|
case 'user':
|
||||||
|
|||||||
Reference in New Issue
Block a user