a2ui-project / a2ui-project/a2ui
Allow cuttable keys to be configured per schema/component for stream parsing
- Dominant language
- TypeScript
- Stars
- 16.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 134
Description
## Background
The current implementation for cuttable keys in stream parsing is an interim solution, but further improvements are needed as highlighted in review feedback from PR #1581.
## Motivation
- Enhance flexibility and accuracy by enabling configuration of cuttable keys at the schema or component level, rather than only at the catalog level.
- Support future formats and streaming mechanisms for better handling of fragmentable properties.
## Key Tasks
- Research and propose a design for specifying cuttable parameters at the component level using schema analysis (e.g., properties of type DynamicString, ComponentId, etc.).
- Evaluate alternative streaming formats that could simplify or improve robust parsing and fragment handling.
- Consider migration paths from the current catalog-level approach to the proposed schema or component-based solution.
- Prepare a design or technical note outlining options and trade-offs.
## References
- [PR Review Discussion](https://github.com/a2ui-project/a2ui/pull/1581#pullrequestreview-4473826075)
- Related long-term issue: #863
---
This issue tracks future work following PR #1581.
Contributor guide
Research direction
Review PR #1581 and the linked discussion to understand the current catalog-level cuttable keys implementation. Examine the schema analysis for properties like DynamicString and ComponentId. The goal is to propose a design for component-level configuration, considering migration paths and alternative streaming formats. Start by reading the stream parsing code and related schema definitions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, data, stream-processing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100