🐛 (dify) Fix invalid parsing when text delta is multiline
This commit is contained in:
@ -5,6 +5,7 @@ import { defaultBaseUrl } from '../constants'
|
||||
import { Chunk } from '../types'
|
||||
import ky, { HTTPError } from 'ky'
|
||||
import { deprecatedCreateChatMessageOptions } from '../deprecated'
|
||||
import { formatStreamPart } from 'ai'
|
||||
|
||||
export const createChatMessage = createAction({
|
||||
auth,
|
||||
@ -120,7 +121,7 @@ export const createChatMessage = createAction({
|
||||
onMessage: (message) => {
|
||||
controller.enqueue(
|
||||
new TextEncoder().encode(
|
||||
'0:"' + message.replace(/"/g, '\\"') + '"\n'
|
||||
formatStreamPart('text', message)
|
||||
)
|
||||
)
|
||||
},
|
||||
@ -299,7 +300,7 @@ const processDifyStream = async (
|
||||
totalTokens,
|
||||
conversationId,
|
||||
}: {
|
||||
totalTokens: number
|
||||
totalTokens?: number
|
||||
conversationId: string
|
||||
}) => void
|
||||
}
|
||||
@ -333,7 +334,7 @@ const processDifyStream = async (
|
||||
}
|
||||
if (data.event === 'message_end') {
|
||||
callbacks.onMessageEnd?.({
|
||||
totalTokens: data.metadata.usage.total_tokens,
|
||||
totalTokens: data.metadata.usage?.total_tokens,
|
||||
conversationId: data.conversation_id,
|
||||
})
|
||||
}
|
||||
|
@ -12,5 +12,8 @@
|
||||
"@types/react": "18.2.15",
|
||||
"ky": "1.2.3",
|
||||
"typescript": "5.4.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"ai": "3.1.12"
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ type AgentMessageChunk = {
|
||||
type MessageEndChunk = {
|
||||
event: 'message_end'
|
||||
metadata: {
|
||||
usage: {
|
||||
usage?: {
|
||||
total_tokens: number
|
||||
}
|
||||
}
|
||||
|
4
pnpm-lock.yaml
generated
4
pnpm-lock.yaml
generated
@ -1347,6 +1347,10 @@ importers:
|
||||
version: 5.4.5
|
||||
|
||||
packages/forge/blocks/difyAi:
|
||||
dependencies:
|
||||
ai:
|
||||
specifier: 3.1.12
|
||||
version: 3.1.12(openai@4.47.1)(react@18.2.0)(solid-js@1.7.8)(svelte@4.2.12)(vue@3.4.21)(zod@3.22.4)
|
||||
devDependencies:
|
||||
'@typebot.io/forge':
|
||||
specifier: workspace:*
|
||||
|
Reference in New Issue
Block a user