Commit Graph

217 Commits

Author SHA1 Message Date
Peter Steinberger a1bd02fdfd refactor: share human list formatting 2026-04-20 13:54:24 +01:00
Ayaan Zaidi 9de39accdb fix(shared): model pairing approval state from effective access 2026-04-20 13:08:04 +05:30
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