Add history window controls and expand taxonomy pack support

- add 3Y/5Y/10Y financial history filtering and reorganize normalization details UI
- add new fiscal taxonomy surface/income bridge/KPI packs and update Rust taxonomy loading
- auto-detect Homebrew SQLite for native `sqlite-vec` in local dev/e2e with docs and env guidance
This commit is contained in:
2026-03-18 23:40:28 -04:00
parent f8426c4dde
commit 17de3dd72d
102 changed files with 14978 additions and 1316 deletions

View File

@@ -518,8 +518,6 @@ export function AppShell({
return (
<div className="app-surface">
<div className="noise-layer" aria-hidden="true" />
<div
className={cn(
"relative z-10 mx-auto flex min-h-screen w-full max-w-[1440px] gap-6 px-4 pb-10 pt-4 sm:px-5 sm:pb-12 sm:pt-6 md:px-8 lg:gap-8",
@@ -541,15 +539,9 @@ export function AppShell({
>
{!isSidebarCollapsed ? (
<div className="min-w-0">
<p className="terminal-caption text-xs uppercase tracking-[0.25em] text-[color:var(--terminal-muted)]">
Fiscal Clone
</p>
<h1 className="mt-2 text-2xl font-semibold text-[color:var(--terminal-bright)]">
<h1 className="text-lg font-semibold text-[color:var(--terminal-bright)]">
Neon Desk
</h1>
<p className="mt-2 text-sm text-[color:var(--terminal-muted)]">
Financial intelligence cockpit with durable AI workflows.
</p>
</div>
) : null}
@@ -586,7 +578,7 @@ export function AppShell({
aria-hidden="true"
/>
) : (
<p className="terminal-caption px-2 text-[11px] uppercase tracking-[0.18em] text-[color:var(--terminal-muted)]">
<p className="px-2 text-[11px] text-[color:var(--terminal-muted)]">
{GROUP_LABELS[group]}
</p>
)}
@@ -603,12 +595,12 @@ export function AppShell({
onFocus={() => prefetchForHref(item.href)}
title={item.label}
className={cn(
"flex items-center rounded-xl border border-transparent text-sm transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--line-strong)] focus-visible:ring-offset-2 focus-visible:ring-offset-transparent",
"flex items-center rounded-lg border border-transparent text-sm transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[color:var(--line-strong)] focus-visible:ring-offset-2 focus-visible:ring-offset-transparent",
isSidebarCollapsed
? "justify-center px-0 py-2.5"
: "gap-3 px-2.5 py-1.5",
item.active
? "border-[color:var(--line-strong)] bg-[color:var(--panel-bright)] text-[color:var(--terminal-bright)] shadow-[inset_2px_0_0_var(--accent)]"
? "border-[color:var(--line-strong)] bg-[color:var(--panel-bright)] text-[color:var(--terminal-bright)]"
: "text-[color:var(--terminal-muted)] hover:border-[color:var(--line-weak)] hover:bg-[color:var(--panel-soft)] hover:text-[color:var(--terminal-bright)]",
)}
>
@@ -633,22 +625,15 @@ export function AppShell({
{isSigningOut ? "Signing out..." : "Sign out"}
</Button>
<div className="rounded-[1rem] border border-[color:var(--line-weak)] bg-[color:var(--panel-soft)] p-2.5">
<p className="text-xs uppercase tracking-[0.2em] text-[color:var(--terminal-muted)]">
Runtime
</p>
<p className="mt-1 truncate text-sm text-[color:var(--terminal-bright)]">
<div className="rounded-lg border border-[color:var(--line-weak)] bg-[color:var(--panel-soft)] p-2.5">
<p className="text-xs text-[color:var(--terminal-muted)]">
{displayName}
</p>
{role ? (
<p className="mt-1 text-xs uppercase tracking-[0.16em] text-[color:var(--terminal-muted)]">
Role: {role}
<p className="mt-1 text-xs text-[color:var(--terminal-muted)]">
{role}
</p>
) : null}
<p className="mt-2 text-xs text-[color:var(--terminal-muted)]">
AI and market data are driven by environment configuration and
live API tasks.
</p>
</div>
</>
) : null}
@@ -675,10 +660,7 @@ export function AppShell({
</div>
<div className="flex flex-col gap-4 sm:flex-row sm:flex-wrap sm:items-start sm:justify-between">
<div className="min-w-0 pr-6 sm:pr-0">
<p className="terminal-caption text-xs uppercase tracking-[0.3em] text-[color:var(--terminal-muted)]">
Live System
</p>
<h2 className="mt-2 text-xl font-semibold text-[color:var(--terminal-bright)] sm:text-2xl md:text-3xl">
<h2 className="text-xl font-semibold text-[color:var(--terminal-bright)] sm:text-2xl">
{title}
</h2>
{subtitle ? (
@@ -748,7 +730,7 @@ export function AppShell({
</div>
<nav
className="fixed inset-x-0 bottom-0 z-40 border-t border-[color:var(--line-weak)] bg-[color:rgba(24,27,32,0.96)] px-2 py-2 backdrop-blur lg:hidden"
className="fixed inset-x-0 bottom-0 z-40 border-t border-[color:var(--line-weak)] bg-[color:var(--panel)] px-2 py-2 lg:hidden"
aria-label="Mobile primary"
>
<div
@@ -799,11 +781,11 @@ export function AppShell({
<div
role="dialog"
aria-modal="true"
className="absolute inset-x-3 rounded-2xl border border-[color:var(--line-weak)] bg-[color:var(--panel)] p-3 shadow-[0_20px_60px_rgba(0,0,0,0.45)]"
className="absolute inset-x-3 rounded-lg border border-[color:var(--line-weak)] bg-[color:var(--panel)] p-3"
style={{ bottom: "calc(4.7rem + env(safe-area-inset-bottom))" }}
onClick={(event) => event.stopPropagation()}
>
<p className="terminal-caption mb-2 px-1 text-[11px] uppercase tracking-[0.2em] text-[color:var(--terminal-muted)]">
<p className="mb-2 px-1 text-[11px] text-[color:var(--terminal-muted)]">
More destinations
</p>
<div className="grid grid-cols-2 gap-2">