ag-ui-protocol / ag-ui-protocol/ag-ui

[Feature]: [rust-sdk] Support optional feature flags for core crate to derive protocol types with utoipa + schemars

Open
#1,407 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
15.9k
Forks
1.4k
Avg merge
1d 17h
Merged PRs (30d)
163

Description

### Pre-flight Checklist

- [x] I have searched existing issues and this hasn't been requested yet.

### Problem or Motivation

Currently the protocol types in the `ag-ui-core` crate in the Rust SDK are serializable but do not interoperate in presentation layers that depend on utilities like utoipa or schemars. This means those types can not be used directly in those layers, requiring developers to redefine the exact same shapes in their own structs instead of simply reusing the core crate.

### Proposed Solution

It would be ideal if the core crate supported two optional feature flags, `utoipa` and `schemars` that conditionally adds the derives for `utoipa::ToSchema` and `schemars::JsonSchema` to all of the serializable types.

### Alternatives Considered

The only possible workaround is to redefine the exact same types manually in your own project, requiring maintenance time when the protocol changes.

### Additional Context

I am willing to open a PR with these changes as they are very small.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.