修复消息渲染并更新发布包
This commit is contained in:
@@ -761,9 +761,17 @@ function createCodexAppRuntime(deps = {}) {
|
||||
if (!nextText) return '';
|
||||
if (!entry.agentMessageItems) entry.agentMessageItems = new Map();
|
||||
const currentItemText = entry.agentMessageItems.get(itemId) || '';
|
||||
if (!entry.agentMessagePendingPrefixes) entry.agentMessagePendingPrefixes = new Map();
|
||||
const pendingPrefix = entry.agentMessagePendingPrefixes.get(itemId) || '';
|
||||
if (!currentItemText && !nextText.trim()) {
|
||||
entry.agentMessagePendingPrefixes.set(itemId, `${pendingPrefix}${nextText}`);
|
||||
return '';
|
||||
}
|
||||
entry.agentMessagePendingPrefixes.delete(itemId);
|
||||
const separator = agentMessageSeparator(entry, itemId, nextText);
|
||||
const appended = separator + nextText;
|
||||
entry.agentMessageItems.set(itemId, appendCappedText(currentItemText, nextText, RUNTIME_AGENT_ITEM_MAX_CHARS));
|
||||
const firstText = currentItemText ? nextText : `${pendingPrefix}${nextText}`;
|
||||
const appended = separator + firstText;
|
||||
entry.agentMessageItems.set(itemId, appendCappedText(currentItemText, firstText, RUNTIME_AGENT_ITEM_MAX_CHARS));
|
||||
entry.fullText = appendCappedText(entry.fullText || '', appended, RUNTIME_FULL_TEXT_MAX_CHARS);
|
||||
return capStreamDelta(appended);
|
||||
}
|
||||
@@ -773,6 +781,10 @@ function createCodexAppRuntime(deps = {}) {
|
||||
if (!text) return '';
|
||||
if (!entry.agentMessageItems) entry.agentMessageItems = new Map();
|
||||
const currentItemText = entry.agentMessageItems.get(item.id) || '';
|
||||
if (!entry.agentMessagePendingPrefixes) entry.agentMessagePendingPrefixes = new Map();
|
||||
const pendingPrefix = entry.agentMessagePendingPrefixes.get(item.id) || '';
|
||||
entry.agentMessagePendingPrefixes.delete(item.id);
|
||||
if (!currentItemText && !text.trim()) return '';
|
||||
if (currentItemText && text.startsWith(currentItemText)) {
|
||||
const remainder = text.slice(currentItemText.length);
|
||||
entry.agentMessageItems.set(item.id, keepTail(text, RUNTIME_AGENT_ITEM_MAX_CHARS));
|
||||
@@ -780,9 +792,12 @@ function createCodexAppRuntime(deps = {}) {
|
||||
return capStreamDelta(remainder);
|
||||
}
|
||||
if (currentItemText === text) return '';
|
||||
const separator = agentMessageSeparator(entry, item.id, text);
|
||||
const appended = separator + text;
|
||||
entry.agentMessageItems.set(item.id, keepTail(text, RUNTIME_AGENT_ITEM_MAX_CHARS));
|
||||
const completedText = !currentItemText && pendingPrefix && !text.startsWith(pendingPrefix)
|
||||
? `${pendingPrefix}${text}`
|
||||
: text;
|
||||
const separator = agentMessageSeparator(entry, item.id, completedText);
|
||||
const appended = separator + completedText;
|
||||
entry.agentMessageItems.set(item.id, keepTail(completedText, RUNTIME_AGENT_ITEM_MAX_CHARS));
|
||||
entry.fullText = appendCappedText(entry.fullText || '', appended, RUNTIME_FULL_TEXT_MAX_CHARS);
|
||||
return capStreamDelta(appended);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user