mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-22 16:25:51 +00:00
feat: 全部类型问题解决
This commit is contained in:
@@ -243,11 +243,11 @@ export function getParentCacheSuppressReason(
|
||||
): string | null {
|
||||
if (!lastAssistantMessage) return null
|
||||
|
||||
const usage = lastAssistantMessage.message.usage
|
||||
const inputTokens = usage.input_tokens ?? 0
|
||||
const cacheWriteTokens = usage.cache_creation_input_tokens ?? 0
|
||||
const usage = lastAssistantMessage.message!.usage
|
||||
const inputTokens = usage!.input_tokens ?? 0
|
||||
const cacheWriteTokens = usage!.cache_creation_input_tokens ?? 0
|
||||
// The fork re-processes the parent's output (never cached) plus its own prompt.
|
||||
const outputTokens = usage.output_tokens ?? 0
|
||||
const outputTokens = usage!.output_tokens ?? 0
|
||||
|
||||
return (inputTokens as number) + (cacheWriteTokens as number) + (outputTokens as number) >
|
||||
MAX_PARENT_UNCACHED_TOKENS
|
||||
@@ -339,7 +339,7 @@ export async function generateSuggestion(
|
||||
|
||||
for (const msg of result.messages) {
|
||||
if (msg.type !== 'assistant') continue
|
||||
const contentArr = Array.isArray(msg.message.content) ? msg.message.content as Array<{ type: string; text?: string }> : []
|
||||
const contentArr = Array.isArray(msg.message!.content) ? msg.message!.content as Array<{ type: string; text?: string }> : []
|
||||
const textBlock = contentArr.find(b => b.type === 'text')
|
||||
if (textBlock?.type === 'text' && typeof textBlock.text === 'string') {
|
||||
const suggestion = textBlock.text.trim()
|
||||
|
||||
@@ -197,7 +197,7 @@ function getBoundaryDetail(
|
||||
function isUserMessageWithArrayContent(
|
||||
m: Message,
|
||||
): m is Message & { message: { content: unknown[] } } {
|
||||
return m.type === 'user' && 'message' in m && Array.isArray(m.message.content)
|
||||
return m.type === 'user' && 'message' in m && Array.isArray(m.message?.content)
|
||||
}
|
||||
|
||||
export function prepareMessagesForInjection(messages: Message[]): Message[] {
|
||||
@@ -254,9 +254,9 @@ export function prepareMessagesForInjection(messages: Message[]): Message[] {
|
||||
|
||||
return messages
|
||||
.map(msg => {
|
||||
if (!('message' in msg) || !Array.isArray(msg.message.content)) return msg
|
||||
const content = msg.message.content.filter(keep)
|
||||
if (content.length === msg.message.content.length) return msg
|
||||
if (!('message' in msg) || !Array.isArray(msg.message?.content)) return msg
|
||||
const content = msg.message!.content.filter(keep)
|
||||
if (content.length === msg.message!.content.length) return msg
|
||||
if (content.length === 0) return null
|
||||
// Drop messages where all remaining blocks are whitespace-only text
|
||||
// (API rejects these with 400: "text content blocks must contain non-whitespace text")
|
||||
|
||||
Reference in New Issue
Block a user