feat(web): W3-1 shared console routes, nav, api/sse/query-keys and shared components

- routes.ts registers all workspaces under /console (+ detail routes, engine, audit, login)
- api.ts: cookie session first (credentials include, CSRF header), Bearer only with stored key, 401 -> /login
- sse.ts: shared EventSource with ?after=seq catch-up, backoff reconnect, per-type subscribe
- shared components: data-table, filter-bar, detail-sheet, timeline, json-view, confirm-dialog,
  form-field, kv-list, stat-tile, error/loading states; ui tabs and textarea

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-27 20:21:29 +08:00
1 parent a24bda952b
commit e5e42b1f0d
32 files changed
+1286 -71

No files matched your search

+1 -1
View File
@@ -6,7 +6,7 @@ import { apiData, TTL_SECOND } from "~/lib/api.ts";
export function useHealth() {
return useQuery({
queryKey: ["health"],
queryFn: ({ signal }) => apiData<HealthStatus>("/api/v1/health", { signal }),
queryFn: ({ signal }) => apiData<HealthStatus>("/health", { signal, noAuthRedirect: true }),
refetchInterval: 15 * TTL_SECOND,
retry: false,
});