From 846a2e25be71e4f04772424260dd59f5875f8867 Mon Sep 17 00:00:00 2001 From: Serge Alex Date: Mon, 2 Nov 2026 09:17:56 +0300 Subject: [PATCH] feat-dump-first-sse-response-to-file --- injected/chat-logger.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/injected/chat-logger.js b/injected/chat-logger.js index 46cc266..2da49a9 100644 --- a/injected/chat-logger.js +++ b/injected/chat-logger.js @@ -4,7 +4,7 @@ var ENABLED_KEY = 'dshmem-log-enabled' var BASE = 'http' + ':' + '//' + '127.0.0.1' + ':' + '8766' var CHUNK = 700 - var K_RATIO = 3.1; var CONTEXT_LIMIT = 131072; var charsAccum = 0; var evTotal = 0; var evV = 0; var evP = 0 + var K_RATIO = 3.1; var CONTEXT_LIMIT = 131072; var charsAccum = 0; var dumpDone = false; var DUMP_FILE = 'dump' + String.fromCharCode(46) + 'jsonl'; var evTotal = 0; var evV = 0; var evP = 0 var seen = Object.create(null) var cfg = null var lastAccum = null; var injectBlock = ''; var injectLoaded = false; var injectErr = ''; var injectBlock = ''; var injectLoaded = false; var injectErr = '' @@ -170,6 +170,8 @@ } catch (e) { return } var assistant = ''; var sseCalls = 0; var respLen = 0; var respHead = ''; var hasData = 0; var fetchTotal = 0; var finPos = -1; var finCtx = ''; var sseTools = ''; respLen = (entry.resp || '').length; finPos = (entry.resp || '').indexOf('FINISHED'); if (finPos > 40) { finCtx = String(entry.resp).slice(finPos - 40, finPos + 80) } respHead = String(entry.resp || '').slice(0, 60); hasData = (entry.resp && entry.resp.indexOf('data: ') !== -1) ? 1 : 0; + if (!dumpDone && respLen > 200 && hasData === 1) { dumpDone = true; try { var __bl = String(entry.resp).split(String.fromCharCode(10) + String.fromCharCode(10)); sendLines(DUMP_FILE, __bl.slice(0, 190)) } catch (e) { } } + try { assistant = extractAssistant(entry.resp || '') } catch (e) { }; try { var LB1 = String.fromCharCode(10214); var RB1 = String.fromCharCode(10215); var marker = LB1 + 'DSH' + RB1; var pos = 0; while (true) { var hit = assistant.indexOf(marker, pos); if (hit === -1) break; sseCalls = sseCalls + 1; pos = hit + marker.length } ; try { var openM = marker; var closeM = String.fromCharCode(10214) + '/DSH' + String.fromCharCode(10215); var sPos = 0; var tools = []; while (true) { var so = assistant.indexOf(openM, sPos); if (so === -1) break; var sc = assistant.indexOf(closeM, so + openM.length); if (sc === -1) break; var inner = assistant.slice(so + openM.length, sc); try { var obj = JSON.parse(inner); if (obj && typeof obj.tool === 'string') { tools.push(obj.tool) } } catch (e) { } sPos = sc + closeM.length } sseTools = tools.join(',') } catch (e) { } } catch (e) { } var all = messages.slice() if (assistant) all.push({ role: 'assistant', content: assistant }) var file = today() + '.jsonl'