a2ui-project / a2ui-project/a2ui
Allow developers to define ComponentApis using raw JSON schemas rather than Zod objects
- 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
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