feat: 全部类型问题解决

This commit is contained in:
claude-code-best
2026-04-11 10:24:00 +08:00
parent 7088fe3c8b
commit 6a70056910
135 changed files with 671 additions and 503 deletions

View File

@@ -579,13 +579,13 @@ export function userMessageToMessageParam(
querySource?: QuerySource,
): MessageParam {
if (addCache) {
if (typeof message.message.content === 'string') {
if (typeof message.message!.content === 'string') {
return {
role: 'user',
content: [
{
type: 'text',
text: message.message.content,
text: message.message!.content,
...(enablePromptCaching && {
cache_control: getCacheControl({ querySource }),
}),
@@ -595,9 +595,9 @@ export function userMessageToMessageParam(
} else {
return {
role: 'user',
content: message.message.content.map((_, i) => ({
content: message.message!.content!.map((_, i) => ({
..._,
...(i === message.message.content.length - 1
...(i === message.message!.content!.length - 1
? enablePromptCaching
? { cache_control: getCacheControl({ querySource }) }
: {}
@@ -611,9 +611,9 @@ export function userMessageToMessageParam(
// to addCacheBreakpoints share the same array and each splices in duplicate cache_edits.
return {
role: 'user',
content: Array.isArray(message.message.content)
? [...message.message.content]
: message.message.content,
content: (Array.isArray(message.message!.content)
? [...message.message!.content]
: message.message!.content) as import('@anthropic-ai/sdk/resources/beta/messages/messages.js').BetaContentBlockParam[],
}
}
@@ -624,13 +624,13 @@ export function assistantMessageToMessageParam(
querySource?: QuerySource,
): MessageParam {
if (addCache) {
if (typeof message.message.content === 'string') {
if (typeof message.message!.content === 'string') {
return {
role: 'assistant',
content: [
{
type: 'text',
text: message.message.content,
text: message.message!.content,
...(enablePromptCaching && {
cache_control: getCacheControl({ querySource }),
}),
@@ -640,11 +640,11 @@ export function assistantMessageToMessageParam(
} else {
return {
role: 'assistant',
content: message.message.content.map((_, i) => {
content: message.message!.content!.map((_, i) => {
const contentBlock = stripGeminiProviderMetadata(_)
return {
...contentBlock,
...(i === message.message.content.length - 1 &&
...(i === message.message!.content!.length - 1 &&
contentBlock.type !== 'thinking' &&
contentBlock.type !== 'redacted_thinking' &&
(feature('CONNECTOR_TEXT')
@@ -662,9 +662,9 @@ export function assistantMessageToMessageParam(
return {
role: 'assistant',
content:
typeof message.message.content === 'string'
? message.message.content
: message.message.content.map(stripGeminiProviderMetadata) as BetaContentBlockParam[],
typeof message.message!.content === 'string'
? message.message!.content
: message.message!.content!.map(stripGeminiProviderMetadata) as BetaContentBlockParam[],
}
}
@@ -972,8 +972,8 @@ export function stripExcessMediaItems(
): (UserMessage | AssistantMessage)[] {
let toRemove = 0
for (const msg of messages) {
if (!Array.isArray(msg.message.content)) continue
for (const block of msg.message.content) {
if (!Array.isArray(msg.message!.content)) continue
for (const block of msg.message!.content) {
if (isMedia(block)) toRemove++
if (isToolResult(block) && Array.isArray(block.content)) {
for (const nested of block.content) {
@@ -987,7 +987,7 @@ export function stripExcessMediaItems(
return messages.map(msg => {
if (toRemove <= 0) return msg
const content = msg.message.content
const content = msg.message!.content
if (!Array.isArray(content)) return msg
const before = toRemove