{"version":3,"file":"sseRequest-hunyuan.mjs","sources":["../../src/chat/sseRequest-hunyuan.ts"],"sourcesContent":["import { FetchSSEOptions, SSEEvent } from './type';\ninterface RequestParams {\n  url: string;\n  data: any;\n  success: (res: any) => void;\n  fail?: () => void;\n  complete?: (isOk: Boolean, msg?: String, requestid?: String) => void;\n  cancel?: (res: any) => void;\n  abort?: () => void;\n}\n/**\n * Sends a Server-Sent Events (SSE) request to the specified URL with the given data and callback function.\n * @param url - The URL to send the SSE request to.\n * @param data - The data to send with the SSE request.\n * @param callback - The function to call when the SSE response is received.\n * @returns void\n */\nexport async function sseRequest(params: RequestParams, apiKey?: string) {\n  const { url, data, complete, cancel, abort } = params;\n  const controller = new AbortController();\n  const { signal } = controller;\n  cancel?.(controller);\n  const tokenHeaders: any = {\n    'Content-Type': 'application/json',\n  };\n  tokenHeaders.Authorization = `Bearer${apiKey ? ` ${apiKey}` : ''}`;\n  const responsePromise = fetch(url, {\n    method: 'POST',\n    headers: tokenHeaders,\n    body: JSON.stringify(data),\n    signal: controller.signal,\n  }).catch((e) => {\n    const msg = e.toString() || '流式接口异常';\n    complete?.(false, msg);\n    return Promise.reject(e); // 确保错误能够被后续的.catch()捕获\n  });\n  fetchSSE(() => responsePromise, params);\n  signal.addEventListener('abort', () => {\n    try {\n      abort && abort();\n    } catch {}\n  });\n}\n\n// 解析SSE数据\nexport const fetchSSE = async (fetchFn: () => Promise<Response>, options: FetchSSEOptions = {}) => {\n  const { success, fail, complete } = options;\n  const responsePromise = fetchFn().catch((e) => {\n    const msg = e.toString() || '流式接口异常';\n    complete?.(false, msg);\n    return Promise.reject(e); // 确保错误能够被后续的.catch()捕获\n  });\n\n  responsePromise\n    .then((response) => {\n      if (!response?.ok) {\n        complete?.(false, response.statusText);\n        fail?.();\n        throw new Error('Request failed'); // 抛出错误以便链式调用中的下一个.catch()处理\n      }\n      const reader = response.body.getReader();\n      const decoder = new TextDecoder();\n      if (!reader) throw new Error('No reader available');\n\n      const bufferArr: string[] = [];\n      let dataText = ''; // 记录数据\n      const event: SSEEvent = { type: null, data: null };\n\n      async function processText({ done, value }: ReadableStreamReadResult<Uint8Array>): Promise<void> {\n        if (done) {\n          complete?.(true);\n          return Promise.resolve();\n        }\n        const chunk = decoder.decode(value);\n        const buffers = chunk.toString().split(/\\r?\\n/);\n        bufferArr.push(...buffers);\n        const i = 0;\n        while (i < bufferArr.length) {\n          const line = bufferArr[i];\n          if (line) {\n            dataText += line;\n            const response = line.slice(6);\n            if (response === '[DONE]') {\n              event.type = 'finish';\n              dataText = '';\n            } else {\n              const choices = JSON.parse(response.trim())?.choices?.[0];\n              if (choices.finish_reason === 'stop') {\n                event.type = 'finish';\n                dataText = '';\n              } else {\n                event.type = 'delta';\n                event.data = choices;\n              }\n            }\n          }\n          if (event.type && event.data) {\n            const jsonData = JSON.parse(JSON.stringify(event));\n            success(jsonData);\n            event.type = null;\n            event.data = null;\n          }\n          bufferArr.splice(i, 1);\n        }\n        return reader.read().then(processText);\n      }\n\n      return reader.read().then(processText);\n    })\n    .catch(() => {\n      // 处理整个链式调用过程中发生的任何错误\n      fail?.();\n    });\n};\n"],"names":["sseRequest","_x","_x2","_sseRequest","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee3","params","apiKey","url","data","complete","cancel","abort","controller","signal","tokenHeaders","responsePromise","wrap","_callee3$","_context3","prev","next","AbortController","Authorization","concat","fetch","method","headers","body","JSON","stringify","e","msg","toString","Promise","reject","fetchSSE","addEventListener","_unused","stop","_ref","_callee2","fetchFn","options","success","fail","_args2","_callee2$","_context2","length","undefined","then","response","ok","statusText","Error","reader","getReader","decoder","TextDecoder","bufferArr","dataText","event","type","processText","_x4","_processText","_callee","_ref2","done","value","chunk","buffers","i","line","response2","_JSON$parse","choices","jsonData","_callee$","_context","abrupt","resolve","decode","split","push","_toConsumableArray","slice","parse","trim","finish_reason","splice","read","_x3"],"mappings":"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"}