Commit Graph

215 Commits

Author SHA1 Message Date
Peter Steinberger
2e1ddedc58 refactor: share chat content text coercion 2026-04-18 21:35:05 +01:00
Peter Steinberger
85912849cc refactor: move extension markers into manifests 2026-04-18 20:16:44 +01:00
Ziy
4b5987829d fix: redact credentials in browser.cdpUrl config paths (#67679)
Merged via squash.

Prepared head SHA: 77bc2c50ce
Co-authored-by: Ziy1-Tan <49604965+Ziy1-Tan@users.noreply.github.com>
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com>
Reviewed-by: @hxy91819
2026-04-18 14:22:58 +08:00
Chris Yau
59caf03d67 Avoid rescanning HTML challenge pages during error formatting
The HTML challenge fix already keeps standalone CDN block pages out of the DNS transport path. This follow-up caches the HTML classification so status-prefixed non-HTML failures do not pay for the same scan twice and the control flow stays simpler.

Constraint: Keep behavior identical for both status-prefixed HTML pages and standalone HTML challenge pages
Rejected: Inline the helper into the status branch only | would duplicate the standalone HTML branch logic
Confidence: high
Scope-risk: narrow
Directive: If this formatter grows more branches, keep a single HTML classification result and reuse it through the decision tree
Tested: oxfmt --check src/shared/assistant-error-format.ts
Tested: node scripts/test-projects.mjs src/agents/pi-embedded-helpers.formatassistanterrortext.test.ts src/agents/pi-embedded-helpers.isbillingerrormessage.test.ts
2026-04-16 12:47:12 -07:00
Chris Yau
36dd58ac2a Prevent Codex HTML challenge pages from looking like DNS failures
Cloudflare challenge pages from chatgpt.com/backend-api can arrive as raw HTML without an HTTP status prefix. The transport sanitizer scanned for generic "dns" substrings before HTML detection, so these pages could surface as DNS lookup failures instead of the existing HTML/CDN block message.

Constraint: Must preserve DNS transport classification for real ENOTFOUND/getaddrinfo failures
Rejected: Treat every bare HTML document as an upstream HTML error | too broad for arbitrary model text/errors
Confidence: high
Scope-risk: narrow
Directive: Keep standalone HTML challenge detection ahead of generic transport keyword matching so CDN block pages do not regress into DNS copy
Tested: oxfmt --check on changed files; targeted node --import tsx verification for standalone Cloudflare HTML classification and DNS control case
Not-tested: Full Vitest shard run in this environment
2026-04-16 12:47:12 -07:00
OfflynAI
78df859e15 fix: strip standalone <function> tool call tags from visible text (#67318) (thanks @joelnishanth)
* fix: strip standalone <function> tool call tags from visible text (#67093)

Models like Gemma emit tool calls as standalone <function> blocks with
nested <parameter> XML instead of wrapping them in <tool_call>. The
existing stripToolCallXmlTags only recognized tool_call, tool_result,
function_call, function_calls, and tool_calls — so bare <function> and
</function> tags leaked through to the user as raw syntax on Discord
and other channels.

Add "function" to TOOL_CALL_TAG_NAMES and extend the payload detection
for <function> tags to check XML payloads (not just JSON), matching the
same behavior already applied to <tool_call>. Other tag types keep the
more conservative JSON-only check to avoid stripping prose examples.

Made-with: Cursor

* Text: harden standalone <function> stripping

* fix: strip standalone <function> tool call tags from visible text (#67318) (thanks @joelnishanth)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-04-16 09:53:35 +05:30
Vincent Koc
74f31241ed fix(runtime): hide lazy command and context seams from static graph 2026-04-12 12:23:19 +01:00
Peter Steinberger
f6ed276f51 style: apply updated formatter output 2026-04-10 19:17:39 +01:00
MoerAI
a2fb063370 fix(text): strip Qwen-style XML tool call payloads from visible text (#63999) 2026-04-10 15:36:25 +01:00
Peter Steinberger
6c82a91d3d refactor: tighten device pairing approval types 2026-04-10 10:22:00 +01:00
Nimrod Gutman
f3c304917a revert: undo background alive review findings fix 2026-04-08 14:02:49 +03:00
Nimrod Gutman
b328c66115 fix: resolve background alive beacon review findings 2026-04-08 13:46:39 +03:00
Peter Steinberger
df91db906f refactor: dedupe cli cron trimmed readers 2026-04-08 01:36:38 +01:00
Peter Steinberger
ef903d881e refactor: dedupe channel trimmed readers 2026-04-08 00:09:42 +01:00
Peter Steinberger
7897fb9c84 refactor: dedupe locale lowercase helpers 2026-04-07 22:57:52 +01:00
Peter Steinberger
b6970865b6 refactor: dedupe path lowercase helpers 2026-04-07 22:57:52 +01:00
Peter Steinberger
182d41d678 refactor: dedupe command config lowercase helpers 2026-04-07 20:57:03 +01:00
Peter Steinberger
9716f970a3 refactor: dedupe infra lowercase helpers 2026-04-07 13:01:23 +01:00
Peter Steinberger
3139d2007e refactor: dedupe lowercase empty-string readers 2026-04-07 11:18:18 +01:00
Peter Steinberger
434d56a948 refactor: dedupe lowercase helper readers 2026-04-07 10:37:39 +01:00
Peter Steinberger
f54a57b80a refactor: dedupe lowercase string helpers 2026-04-07 10:37:39 +01:00
Peter Steinberger
255abc57b9 refactor: dedupe thread id normalizers 2026-04-07 10:37:39 +01:00
Peter Steinberger
edfc8eb91a refactor: dedupe primary string helpers 2026-04-07 10:37:39 +01:00
Peter Steinberger
9db1a7acf0 fix(ci): restore array-safe record coercion 2026-04-07 10:17:40 +01:00
Peter Steinberger
34c78d3ba4 fix(ci): restore control-ui and provider policy checks 2026-04-07 10:12:01 +01:00
Peter Steinberger
365d5a410b refactor: dedupe trim string helpers 2026-04-07 09:44:53 +01:00
Peter Steinberger
cd313c7f67 refactor: dedupe shared helper readers 2026-04-07 06:42:34 +01:00
Peter Steinberger
8c7dd66a7b refactor: dedupe string readers 2026-04-07 05:06:54 +01:00
Peter Steinberger
2f115bc645 refactor: dedupe reader helpers 2026-04-07 05:06:54 +01:00
Peter Steinberger
59eb291c6e refactor: dedupe string list helpers 2026-04-07 05:06:54 +01:00
Peter Steinberger
80a37ef32a refactor: dedupe plugin string list helpers 2026-04-07 05:06:54 +01:00
Peter Steinberger
61f7d53731 refactor: dedupe shared string readers 2026-04-07 02:03:33 +01:00
Peter Steinberger
899f490c9c refactor: dedupe shared string predicates 2026-04-07 02:03:33 +01:00
Peter Steinberger
a88f240311 refactor: dedupe shared record coercers 2026-04-07 02:03:33 +01:00
Peter Steinberger
bd2ac38c1d refactor: dedupe optional string helper 2026-04-07 00:21:11 +01:00
Peter Steinberger
01dc9792fc refactor: dedupe nullable string helper 2026-04-07 00:21:11 +01:00
Peter Steinberger
0fdb176465 refactor: dedupe oauth tls record helper 2026-04-06 23:36:24 +01:00
Peter Steinberger
4aa31ee6e1 refactor: dedupe nullable record helper 2026-04-06 23:36:24 +01:00
Peter Steinberger
d8e7017326 refactor: dedupe record coercion helper 2026-04-06 23:22:04 +01:00
Peter Steinberger
80c8567f9d fix: resolve merge conflicts and preserve runtime test fixes 2026-04-06 22:46:33 +01:00
Peter Steinberger
1a08d23e09 refactor: dedupe finite number coercion helper 2026-04-06 22:21:01 +01:00
Peter Steinberger
2fef1ccbe7 fix: avoid leading spaces when stripping model tokens 2026-04-06 17:02:10 +01:00
Peter Steinberger
21f59a0ad5 fix: suppress commentary history leaks (#61747) (thanks @afurm) 2026-04-06 16:54:34 +01:00
Peter Steinberger
c63a4f0f13 refactor: share assistant visible text sanitizer profiles 2026-04-06 14:52:52 +01:00
Peter Steinberger
712479eea1 fix: unify assistant visible text sanitizers (#61729) 2026-04-06 14:44:09 +01:00
openperf
980439b9e6 fix(Gateway ): strip tool_call and tool_result XML blocks from assistant visible text 2026-04-06 14:44:09 +01:00
Peter Steinberger
9bc43b61bf refactor: share assistant phase helpers 2026-04-06 05:23:54 +09:00
Peter Steinberger
a4f16f572c fix: prefer final-answer text in web chat previews 2026-04-06 05:23:54 +09:00
oliviareid-svg
7ff90c516a fix: strip leaked outbound tool-call scaffolding (#60619)
Co-authored-by: Frank Yang <frank.ekn@gmail.com>
2026-04-05 02:02:36 +08:00
Joe LaPenna
bb82fe8f19 fix: constrain device bootstrap scope checks by role prefix (#57258) (thanks @jlapenna) (#57258)
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-04-04 23:21:01 +09:00