fix(bridge): preserve plaintext peer task payloads for external models
Server CI and Windows package / verify (push) Successful in 3m16s
Server CI and Windows package / windows-package (push) Successful in 8m18s

This commit is contained in:
yilsem committed 2026-10-13 08:05:00 +03:00
1 parent ab7a721fbc
commit db5e876f40
7 files changed
+72 -6

No files matched your search

@@ -7,6 +7,7 @@ must not enter the budget preparation path.
import copy
import hashlib
import json
import re
import threading
from collections import OrderedDict
@@ -111,10 +112,23 @@ def portable_reasoning(req):
content = item.get("content") or []
if isinstance(content, str):
content = [{"type": "input_text", "text": content}]
portable = []
for part in content:
if isinstance(part, dict) and part.get("type") == "encrypted_content":
# Codex peer delivery can put the literal task/result in
# this wrapper. It is distinct from encrypted reasoning.
# External translators otherwise silently drop the task.
text = part.get("encrypted_content")
if (not isinstance(text, str) or text.startswith("gAAAA")
or re.fullmatch(r"[A-Za-z0-9_+/=-]{128,}", text)):
raise TransferError("Alt ajan iletisi şifreli veya okunamıyor; görev eksik gönderilmedi.")
portable.append({"type": "input_text", "text": text})
else:
portable.append(part)
result.append({"type": "message", "role": "user", "content": [
{"type": "input_text", "text": "Agent message: " + encoded({
"author": item.get("author"), "recipient": item.get("recipient")})}
] + content})
] + portable})
continue
if not isinstance(item, dict) or item.get("type") != "reasoning":
result.append(item)