a2ui-project / a2ui-project/a2ui

Allow cuttable keys to be configured per schema/component for stream parsing

Open
#1,613 2 comments 0 reactions 0 assignees View on GitHub
component: agent_sdk component: specification P2 type: feature/enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.