Knowledge graph explorer frontend. Rebuilds the core of sphinx-nav-fiber with Next.js + shadcn/ui.
- Uses
sphinx-bridgenpm package (postMessage-based, not window.sphinx) for Sphinx app auth - Custom Dialog component using React createPortal (base-ui Dialog had portal issues with Next.js)
.noise-bgclass usesisolation: isolatenotposition: relative(breaks fixed positioning on modals)- Schema/ontology visualization uses dagre for layout, rendered as SVG
- All API requests go through
src/lib/api.tswhich appends signed message params and handles L402 402 retries NEXT_PUBLIC_USE_MOCKS=trueenables mock mode — skips all API calls, uses local fixtures
- jarvis-boltwall: Auth gateway (isAdmin, feature flags, L402 payments, radar/sources)
- jarvis-backend: Graph data (v2/nodes, v2/edges, schema/all, stats, about)
- Boltwall proxies most requests to jarvis-backend; schema endpoints go direct
- Boltwall
/transactionsAPI returns{ action, type, amount, created_at }wheretypeis'debit'|'credit'andamountis always positive - Display utils in
src/lib/transaction-display.ts— usegetActionDisplayLabelandgetActionBadgeColorfor rendering - Credits (top_up, refunds) show green with
+prefix; debits show neutral color (not red) with-prefix
- No hardcoded secrets or keys — use NEXT_PUBLIC_ env vars
- Stores in
src/stores/use Zustand - All components that use browser APIs need
"use client"directive - Native
<select>elements must not be used — useSelectCustomcomponent instead - Keep imports at top of files, no dynamic imports mid-function