refactor: remove unnecessary controller.enqueue calls and optimize text handling
This commit is contained in:
@@ -2831,9 +2831,6 @@ async function requestClaude(arg:RequestDataArgumentExtended):Promise<requestDat
|
|||||||
thinking = false
|
thinking = false
|
||||||
}
|
}
|
||||||
text += parsedData.delta?.text ?? ''
|
text += parsedData.delta?.text ?? ''
|
||||||
controller.enqueue({
|
|
||||||
"0": text
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(parsedData?.delta?.type === 'thinking' || parsedData.delta?.type === 'thinking_delta'){
|
if(parsedData?.delta?.type === 'thinking' || parsedData.delta?.type === 'thinking_delta'){
|
||||||
@@ -2842,9 +2839,6 @@ async function requestClaude(arg:RequestDataArgumentExtended):Promise<requestDat
|
|||||||
thinking = true
|
thinking = true
|
||||||
}
|
}
|
||||||
text += parsedData.delta?.thinking ?? ''
|
text += parsedData.delta?.thinking ?? ''
|
||||||
controller.enqueue({
|
|
||||||
"0": text
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(parsedData?.delta?.type === 'redacted_thinking'){
|
if(parsedData?.delta?.type === 'redacted_thinking'){
|
||||||
@@ -2853,9 +2847,6 @@ async function requestClaude(arg:RequestDataArgumentExtended):Promise<requestDat
|
|||||||
thinking = true
|
thinking = true
|
||||||
}
|
}
|
||||||
text += '\n{{redacted_thinking}}\n'
|
text += '\n{{redacted_thinking}}\n'
|
||||||
controller.enqueue({
|
|
||||||
"0": text
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2870,16 +2861,6 @@ async function requestClaude(arg:RequestDataArgumentExtended):Promise<requestDat
|
|||||||
return 'overload'
|
return 'overload'
|
||||||
}
|
}
|
||||||
text += "Error:" + parsedData?.error?.message
|
text += "Error:" + parsedData?.error?.message
|
||||||
if(arg.extractJson && (db.jsonSchemaEnabled || arg.schema)){
|
|
||||||
controller.enqueue({
|
|
||||||
"0": extractJSON(text, db.jsonSchema)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
controller.enqueue({
|
|
||||||
"0": text
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2891,6 +2872,8 @@ async function requestClaude(arg:RequestDataArgumentExtended):Promise<requestDat
|
|||||||
|
|
||||||
})
|
})
|
||||||
let breakWhile = false
|
let breakWhile = false
|
||||||
|
let i = 0;
|
||||||
|
let prevText = ''
|
||||||
while(true){
|
while(true){
|
||||||
try {
|
try {
|
||||||
if(arg?.abortSignal?.aborted || breakWhile){
|
if(arg?.abortSignal?.aborted || breakWhile){
|
||||||
@@ -2902,7 +2885,8 @@ async function requestClaude(arg:RequestDataArgumentExtended):Promise<requestDat
|
|||||||
}
|
}
|
||||||
parserData += (decoder.decode(value))
|
parserData += (decoder.decode(value))
|
||||||
let parts = parserData.split('\n')
|
let parts = parserData.split('\n')
|
||||||
for(let i=0;i<parts.length-1;i++){
|
for(;i<parts.length-1;i++){
|
||||||
|
prevText = text
|
||||||
if(parts[i].startsWith('data: ')){
|
if(parts[i].startsWith('data: ')){
|
||||||
const d = await parseEvent(parts[i].slice(6))
|
const d = await parseEvent(parts[i].slice(6))
|
||||||
if(d === 'overload'){
|
if(d === 'overload'){
|
||||||
@@ -2928,6 +2912,12 @@ async function requestClaude(arg:RequestDataArgumentExtended):Promise<requestDat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
i--;
|
||||||
|
text = prevText
|
||||||
|
|
||||||
|
controller.enqueue({
|
||||||
|
"0": text
|
||||||
|
})
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
await sleep(1)
|
await sleep(1)
|
||||||
|
|||||||
Reference in New Issue
Block a user