mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 22:35:51 +00:00
feat: 全部类型问题解决
This commit is contained in:
@@ -68,7 +68,8 @@ export function isResultSuccessful(
|
||||
if (!message) return false
|
||||
|
||||
if (message.type === 'assistant') {
|
||||
const lastContent = last(message.message.content)
|
||||
const content = message.message!.content
|
||||
const lastContent = Array.isArray(content) ? content[content.length - 1] : undefined
|
||||
return (
|
||||
lastContent?.type === 'text' ||
|
||||
lastContent?.type === 'thinking' ||
|
||||
@@ -78,7 +79,7 @@ export function isResultSuccessful(
|
||||
|
||||
if (message.type === 'user') {
|
||||
// Check if all content blocks are tool_result type
|
||||
const content = message.message.content
|
||||
const content = message.message!.content
|
||||
if (
|
||||
Array.isArray(content) &&
|
||||
content.length > 0 &&
|
||||
@@ -323,8 +324,8 @@ export async function* handleOrphanedPermission(
|
||||
const alreadyPresent = mutableMessages.some(
|
||||
m =>
|
||||
m.type === 'assistant' &&
|
||||
Array.isArray(m.message.content) &&
|
||||
m.message.content.some(
|
||||
Array.isArray(m.message!.content) &&
|
||||
m.message!.content.some(
|
||||
b => b.type === 'tool_use' && 'id' in b && b.id === toolUseID,
|
||||
),
|
||||
)
|
||||
@@ -385,9 +386,9 @@ export function extractReadFilesFromMessages(
|
||||
for (const message of messages) {
|
||||
if (
|
||||
message.type === 'assistant' &&
|
||||
Array.isArray(message.message.content)
|
||||
Array.isArray(message.message!.content)
|
||||
) {
|
||||
for (const content of message.message.content) {
|
||||
for (const content of message.message!.content) {
|
||||
if (
|
||||
content.type === 'tool_use' &&
|
||||
content.name === FILE_READ_TOOL_NAME
|
||||
@@ -442,8 +443,8 @@ export function extractReadFilesFromMessages(
|
||||
|
||||
// Second pass: find corresponding tool results and extract content
|
||||
for (const message of messages) {
|
||||
if (message.type === 'user' && Array.isArray(message.message.content)) {
|
||||
for (const content of message.message.content) {
|
||||
if (message.type === 'user' && Array.isArray(message.message!.content)) {
|
||||
for (const content of message.message!.content) {
|
||||
if (content.type === 'tool_result' && content.tool_use_id) {
|
||||
// Handle Read tool results
|
||||
const readFilePath = fileReadToolUseIds.get(content.tool_use_id)
|
||||
@@ -537,9 +538,9 @@ export function extractBashToolsFromMessages(messages: Message[]): Set<string> {
|
||||
for (const message of messages) {
|
||||
if (
|
||||
message.type === 'assistant' &&
|
||||
Array.isArray(message.message.content)
|
||||
Array.isArray(message.message!.content)
|
||||
) {
|
||||
for (const content of message.message.content) {
|
||||
for (const content of message.message!.content) {
|
||||
if (content.type === 'tool_use' && content.name === BASH_TOOL_NAME) {
|
||||
const { input } = content
|
||||
if (
|
||||
|
||||
Reference in New Issue
Block a user