a2ui-project / a2ui-project/a2ui

[FEATURE]: Add a unified ordered Flutter GenUI transport event stream

Ouverte
#2,243 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
P2 status: first-line-handled type: feature/enhancement
Langage dominant
TypeScript
Étoiles
16.4k
Forks
1.3k
Merge moyen
2 j 13 h
PR mergées (30 j)
134

Description

- [x] I have searched the existing issues to make sure this feature has not already been requested.

## Is your feature request related to a problem? Please describe.

Incoming text, parsed messages, errors, and outbound requests use separate streams/methods. An observational recorder cannot establish one authoritative order when channels interleave, while parsed-only observation cannot diagnose parser/chunking failures.

## Describe the Proposed Solution

Add an optional ordered event stream with a monotonic sequence and typed variants for opt-in incoming raw/text observation, parsed A2UI messages, outbound requests/client actions, transport/parser errors, and completion/cancellation. Keep existing typed streams, define ordering relative to them, and avoid whole-response buffering. Clearly mark pre-parser observation as unsafe for structural redaction.

## Describe Alternatives Considered

Merging streams in the application is too late to recover order. Parsed-only recording is safe for replay but cannot diagnose parser failures. Wrapping private parser internals is brittle.

## Additional Context

This is an observation seam, not a wire-protocol change. It complements explicit turn-state work such as #1882.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Look at the existing transport streams for incoming text, parsed messages, errors, and outbound requests in the codebase. Understand how they are currently separated. The goal is to create a new unified, ordered event stream that sequences these events. Start by examining the transport layer and parser internals to see where events are emitted. Check related issue #1882 for context on turn-state work. Implementing this requires understanding the existing architecture to add ordering without buffering whole responses.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
flutter, typescript
Domaine
backend-api-design, observability
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.