a2ui-project / a2ui-project/a2ui
feat(skill): consider supporting InferenceFormatFactory in SkillGenerator
- Dominant language
- TypeScript
- Stars
- 16.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 134
Description
### Background
Currently in PR #2516, `SkillGenerator` wraps an instantiated `InferenceFormat` strategy instance:
```python
generator = SkillGenerator(fmt)
skill = generator.generate_skill() # defaults to catalogs in fmt
```
In the Agent SDK module blueprint (`blueprints/modules/a2ui_agent.blueprint.md` §4.E), format construction is planned to be abstracted through `InferenceFormatFactory` for the upcoming `a2ui.processor` facade:
```python
factory: InferenceFormatFactory
fmt = factory.create(catalog, capabilities)
```
### Proposed Enhancement
Once `InferenceFormatFactory` is implemented in the Python Agent SDK and multi-language core SDKs, evaluate whether `SkillGenerator` should accept an `InferenceFormatFactory` directly, allowing catalogs and format options to be synthesized on the fly without pre-bound format instances.
Contributor guide
Research direction
Review the SkillGenerator class and the InferenceFormat interface in the codebase, likely in the Python Agent SDK. Examine the blueprint at blueprints/modules/a2ui_agent.blueprint.md section 4.E to understand the planned InferenceFormatFactory. Determine how catalogs and capabilities are currently passed and how a factory would change the flow. Check for existing tests of SkillGenerator to understand the expected behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, typescript
- Domain
- backend-api-design, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100