feat(frontend): auto-generate TypeScript types from backend OpenAPI schema

Replace manually maintained types in src/lib/types.ts with auto-generated
types from FastAPI's OpenAPI schema using @hey-api/openapi-ts. The bridge
file re-exports generated types with renames, Require<> augmentations for
fields that are optional in the schema but always present in responses, and
manually added relationship fields excluded from OpenAPI.

- Add openapi-ts.config.ts and generate:api npm script
- Generate types into src/lib/api/generated/types.gen.ts
- Rewrite src/lib/types.ts as bridge with re-exports and augmentations
- Fix null vs undefined mismatches in consumer components
- Remove unused manual type definitions from api.ts
- Update AGENTS.md docs with type generation workflow
This commit is contained in:
Piotr Oleszczyk 2026-03-12 09:17:40 +01:00
parent 470d49b061
commit e29d62f949
16 changed files with 13745 additions and 2298 deletions

View file

@ -69,6 +69,6 @@ Or use the provided systemd service: `../systemd/innercontext-node.service`.
| File | Purpose |
| ------------------ | --------------------------------- |
| `src/lib/api.ts` | API client (typed fetch wrappers) |
| `src/lib/types.ts` | Shared TypeScript types |
| `src/lib/types.ts` | Type bridge (re-exports from generated OpenAPI types) |
| `src/app.css` | Tailwind v4 theme + global styles |
| `svelte.config.js` | SvelteKit config (adapter-node) |