a2ui-project / a2ui-project/a2ui
[FEATURE]: Expose a structured public SurfaceController diagnostics stream
- 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.
Applications and tooling need to attribute parser, catalog, validation, lifecycle, binding, and client-function failures to the message that caused them. Failures currently arrive through logs, throws, or disparate callbacks rather than one structured public controller contract. String logs are unstable for tests and unsafe to persist blindly.
## Describe the Proposed Solution
Add a structured diagnostics stream/callback on SurfaceController with a stable append-only code, severity, safe summary, optional surface/component/message identity, optional caller correlation, bounded structured context, and cause category without requiring raw exception text. Document terminal versus recoverable diagnostics and their ordering relative to message completion.
## Describe Alternatives Considered
Log scraping is unstable; catching only handleMessage exceptions misses recoverable/asynchronous failures; a test-only hook would not support application error UI or telemetry.
## Additional Context
#1860 requests abnormal-finalization handling and discoverable non-critical issues. This is the narrower controller-level primitive those handlers can consume.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Look at the SurfaceController class to understand its current error handling via logs, throws, and callbacks. Identify where parser, catalog, validation, lifecycle, binding, and client-function failures occur. Design a new public stream/callback interface with stable codes, severity, summaries, and bounded context. Check issue #1860 for related context on abnormal-finalization.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- 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