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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user