(text)
| 239 | /** |
| 240 | * 从文本中提取响应 ID |
| 241 | * @param {string} text - 文本内容 |
| 242 | * @returns {string[]} 响应 ID 列表 |
| 243 | */ |
| 244 | const extractResponseIDsFromText = (text) => { |
| 245 | if (!text || typeof text !== 'string') { |
| 246 | return [] |
| 247 | } |
| 248 | |
| 249 | const responseIDs = [] |
| 250 | const patterns = [ |
| 251 | /"response_id"\s*:\s*"([^"]+)"/ig, |
| 252 | /"responseId"\s*:\s*"([^"]+)"/ig |
| 253 | ] |
| 254 | |
| 255 | for (const pattern of patterns) { |
| 256 | let matched |
| 257 | while ((matched = pattern.exec(text)) !== null) { |
| 258 | const responseID = matched[1]?.trim() |
| 259 | if (responseID && !responseIDs.includes(responseID)) { |
| 260 | responseIDs.push(responseID) |
| 261 | } |
| 262 | } |
| 263 | } |
| 264 | |
| 265 | return responseIDs |
no outgoing calls
no test coverage detected