add agents to support route image

This commit is contained in:
musistudio
2025-09-01 17:19:43 +08:00
parent 9a5ea191f8
commit 19522f496b
10 changed files with 558 additions and 29 deletions

View File

@@ -0,0 +1,31 @@
/**rewriteStream
* 读取源readablestream返回一个新的readablestream由processor对源数据进行处理后将返回的新值推送到新的stream如果没有返回值则不推送
* @param stream
* @param processor
*/
export const rewriteStream = (stream: ReadableStream, processor: (data: any, controller: ReadableStreamController<any>) => Promise<any>): ReadableStream => {
const reader = stream.getReader()
return new ReadableStream({
async start(controller) {
try {
while (true) {
const { done, value } = await reader.read()
if (done) {
controller.close()
break
}
const processed = await processor(value, controller)
if (processed !== undefined) {
controller.enqueue(processed)
}
}
} catch (error) {
controller.error(error)
} finally {
reader.releaseLock()
}
}
})
}