Skip to content

feat(ag-ui): preserve owned protocol transcripts at request egress - #1164

Merged
blove merged 1 commit into
mainfrom
codex/ag-ui-transcript-values
Sep 24, 2026
Merged

blove merged 1 commit into
mainfrom
codex/ag-ui-transcript-values

Conversation

@blove

@blove blove commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

The neutral display message contract cannot preserve the complete AG-UI transcript needed for a later request: it omits protocol roles, multimodal parts, exact tool argument strings, encryption and metadata. Raw HTTP execution also bypasses the SDK's higher-level activity/null-attribution preparation.

Add two private pure value functions. ownTranscript captures a detached, recursively frozen protocol transcript. requestMessages creates an independent mutable request copy, filtering activity and removing only top-level null child attribution. All other observed portable data is retained without schema validation or argument parsing. Existing raw run behavior and public exports are unchanged; session composition and snapshot reconciliation remain separate work.

Validation:

  • 106 runtime tests (21 new unit cases and four actual HTTP cases), 456 legacy tests, and 266 focused policy/inventory/boundary tests.
  • Rich SDK-normalized snapshot followed by a second actual request verifies complete allowed egress data and exact tool argument bytes. Retained negative controls cover shallow ownership and display reconstruction losses.
  • Strict runtime/public types, lint (zero errors; existing legacy warnings), build, inventory, source boundaries, version consistency and diff checks.
  • Parent verification in automated Chromium, Chrome MCP and the in-app browser: nine actual requests passed server-side body checks and all physically closed, with no uncaught JavaScript or console errors.
  • Independent compliance and code-quality reviews, each with fresh runtime/type checks.

This boundary preserves observed SDK data; it cannot recover fields removed by SDK parsing or provider conversion. No public backend/React parity or production performance claim is made. No dependencies, releases or publishing configuration change.

@vercel

vercel Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
threadplane Ready Ready Preview Sep 24, 2026 10:29pm UTC

Request Review

@blove
blove enabled auto-merge (squash) September 24, 2026 22:21

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval: this PR received an intelligent (AI) code review. See the review comments on this PR.

@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @blove's task in 0s —— View job


I'll analyze this and get back to you.

@blove
blove merged commit 42fd13b into main Sep 24, 2026
77 of 78 checks passed

This branch was successfully deployed

1 active deployment
Preview – threadplane — c6d6f61d Deployed Sep 24, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant