mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 14:25:51 +00:00
feat: 大规模清理 claude 的类型问题及依赖
This commit is contained in:
@@ -7,6 +7,7 @@ import type {
|
||||
SDKStatusMessage,
|
||||
SDKSystemMessage,
|
||||
SDKToolProgressMessage,
|
||||
SDKUserMessage,
|
||||
} from '../entrypoints/agentSdkTypes.js'
|
||||
import type {
|
||||
AssistantMessage,
|
||||
@@ -171,10 +172,11 @@ export function convertSDKMessage(
|
||||
): ConvertedMessage {
|
||||
switch (msg.type) {
|
||||
case 'assistant':
|
||||
return { type: 'message', message: convertAssistantMessage(msg) }
|
||||
return { type: 'message', message: convertAssistantMessage(msg as SDKAssistantMessage) }
|
||||
|
||||
case 'user': {
|
||||
const content = msg.message?.content
|
||||
const userMsg = msg as SDKUserMessage
|
||||
const content = userMsg.message?.content
|
||||
// Tool result messages from the remote server need to be converted so
|
||||
// they render and collapse like local tool results. Detect via content
|
||||
// shape (tool_result blocks) — parent_tool_use_id is NOT reliable: the
|
||||
@@ -187,9 +189,9 @@ export function convertSDKMessage(
|
||||
type: 'message',
|
||||
message: createUserMessage({
|
||||
content,
|
||||
toolUseResult: msg.tool_use_result,
|
||||
uuid: msg.uuid,
|
||||
timestamp: msg.timestamp,
|
||||
toolUseResult: userMsg.tool_use_result,
|
||||
uuid: userMsg.uuid,
|
||||
timestamp: userMsg.timestamp,
|
||||
}),
|
||||
}
|
||||
}
|
||||
@@ -202,9 +204,9 @@ export function convertSDKMessage(
|
||||
type: 'message',
|
||||
message: createUserMessage({
|
||||
content,
|
||||
toolUseResult: msg.tool_use_result,
|
||||
uuid: msg.uuid,
|
||||
timestamp: msg.timestamp,
|
||||
toolUseResult: userMsg.tool_use_result,
|
||||
uuid: userMsg.uuid,
|
||||
timestamp: userMsg.timestamp,
|
||||
}),
|
||||
}
|
||||
}
|
||||
@@ -215,40 +217,42 @@ export function convertSDKMessage(
|
||||
}
|
||||
|
||||
case 'stream_event':
|
||||
return { type: 'stream_event', event: convertStreamEvent(msg) }
|
||||
return { type: 'stream_event', event: convertStreamEvent(msg as SDKPartialAssistantMessage) }
|
||||
|
||||
case 'result':
|
||||
// Only show result messages for errors. Success results are noise
|
||||
// in multi-turn sessions (isLoading=false is sufficient signal).
|
||||
if (msg.subtype !== 'success') {
|
||||
return { type: 'message', message: convertResultMessage(msg) }
|
||||
if ((msg as SDKResultMessage).subtype !== 'success') {
|
||||
return { type: 'message', message: convertResultMessage(msg as SDKResultMessage) }
|
||||
}
|
||||
return { type: 'ignored' }
|
||||
|
||||
case 'system':
|
||||
if (msg.subtype === 'init') {
|
||||
return { type: 'message', message: convertInitMessage(msg) }
|
||||
case 'system': {
|
||||
const sysMsg = msg as SDKSystemMessage
|
||||
if (sysMsg.subtype === 'init') {
|
||||
return { type: 'message', message: convertInitMessage(sysMsg) }
|
||||
}
|
||||
if (msg.subtype === 'status') {
|
||||
const statusMsg = convertStatusMessage(msg)
|
||||
if (sysMsg.subtype === 'status') {
|
||||
const statusMsg = convertStatusMessage(msg as SDKStatusMessage)
|
||||
return statusMsg
|
||||
? { type: 'message', message: statusMsg }
|
||||
: { type: 'ignored' }
|
||||
}
|
||||
if (msg.subtype === 'compact_boundary') {
|
||||
if (sysMsg.subtype === 'compact_boundary') {
|
||||
return {
|
||||
type: 'message',
|
||||
message: convertCompactBoundaryMessage(msg),
|
||||
message: convertCompactBoundaryMessage(msg as SDKCompactBoundaryMessage),
|
||||
}
|
||||
}
|
||||
// hook_response and other subtypes
|
||||
logForDebugging(
|
||||
`[sdkMessageAdapter] Ignoring system message subtype: ${msg.subtype}`,
|
||||
`[sdkMessageAdapter] Ignoring system message subtype: ${sysMsg.subtype}`,
|
||||
)
|
||||
return { type: 'ignored' }
|
||||
}
|
||||
|
||||
case 'tool_progress':
|
||||
return { type: 'message', message: convertToolProgressMessage(msg) }
|
||||
return { type: 'message', message: convertToolProgressMessage(msg as SDKToolProgressMessage) }
|
||||
|
||||
case 'auth_status':
|
||||
// Auth status is handled separately, not converted to a display message
|
||||
@@ -296,7 +300,7 @@ export function isSuccessResult(msg: SDKResultMessage): boolean {
|
||||
*/
|
||||
export function getResultText(msg: SDKResultMessage): string | null {
|
||||
if (msg.subtype === 'success') {
|
||||
return msg.result
|
||||
return msg.result ?? null
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user