Problem Statement
- Standardize all frontend HTTP on native fetch via a shared HTTP client layer (
fetchJson, fetchNdjsonStream, fetchSse).
- Today the UI mixes axios (4 files) and fetch (9+ call sites) with divergent error parsing.
- Three Zustand streaming stores duplicate connect/parse/abort logic.
- TypeScript API types are hand-written and drift from the OpenAPI spec.
- Dependency hygiene: remove unused
@reactflow/node-resizer and axios; declare zustand explicitly.
Priorities: dependency fix → fetch HTTP layer → migrate all call sites → streaming store factory → OpenAPI codegen.
Proposed Solution
- Dependency hygiene
- HTTP client layer:
httpFetch + fetchJson + fetchNdjsonStream + fetchSse
- Migrate all call sites off axios and raw fetch
- Streaming store factory on
fetchNdjsonStream
- Check why and how OpenAPI types are used. Assess if we can use TS codegen for generating them.
- URL/env documentation + optional single base
Alternatives Considered
No response
Additional Context
No response
Checklist
Problem Statement
fetchJson,fetchNdjsonStream,fetchSse).@reactflow/node-resizerandaxios; declarezustandexplicitly.Priorities: dependency fix → fetch HTTP layer → migrate all call sites → streaming store factory → OpenAPI codegen.
Proposed Solution
httpFetch+fetchJson+fetchNdjsonStream+fetchSsefetchNdjsonStreamAlternatives Considered
No response
Additional Context
No response
Checklist