a2ui-project / a2ui-project/a2ui

Allow developers to define ComponentApis using raw JSON schemas rather than Zod objects

Open
#1,248 7 comments 0 reactions 0 assignees View on GitHub
P2 sprint ready type: feature/enhancement
Dominant language
TypeScript
Stars
16.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
134

Description

Some developers want to define a `ComponentApi` (and a `ComponentImplementation`) based on a JSON schema that they already maintain in a format other than Zod, e.g. a plain JSON schema object, or a TS interface etc.

Currently, `ComponentApi` exposes a Zod object as the schema, so this isn't really possible without Zod.

We would ideally have a story for this.

Options:

1. Migrate to Zod 4 which has `z.fromJSONSchema()` - https://zod.dev/json-schema
2. Tell developers to use https://www.npmjs.com/package/json-schema-to-zod or similar
3. Migrate our underlying logic to use raw JSON schemas instead of Zod

Contributor guide

Open the contributing guide

Research direction

Look at the ComponentApi and ComponentImplementation classes to understand how Zod schemas are currently used. Investigate the Zod 4 migration path and json-schema-to-zod library. Determine the best approach for integrating raw JSON schemas, considering backward compatibility and developer experience.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
backend-api-design, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.