You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
clients/web/src/types/navigation.ts exports InspectorTab, a tab-identifier union that has zero references anywhere in the repo (including tests). It duplicates — and drifts from — the live type in src/utils/inspectorTabs.ts.
Surfaced during the #1776 review (PR #1784) while auditing the new src/lib vs src/utils rule.
The two competing types
// src/types/navigation.ts — 0 importers (dead)exporttypeInspectorTab="tools"|"apps"|"prompts"|"resources"|"logs"|"tasks"|"protocol";// src/utils/inspectorTabs.ts — the one actually used (App.tsx, lib/oauthResume.ts, …)exportconstINSPECTOR_TAB_IDS=["Apps","Tools","Prompts","Resources","Tasks","Logs","Protocol","Network"]asconst;exporttypeInspectorTabId=(typeofINSPECTOR_TAB_IDS)[number];
They differ in case (lowercase vs capitalized) and membership (navigation.ts is missing Network), and the dead one is the stale copy.
Proposed change
Delete src/types/navigation.ts (the InspectorTab type is dead).
The live tab-identifier type stays InspectorTabId in src/utils/inspectorTabs.ts — no fold needed unless a lowercase-spelled variant is wanted, in which case derive it there.
Kept out of PR #1784 deliberately — deleting exported symbols changes the coverage denominator and is a scope change from that PR's pure-move mandate. Behavior-preserving (the type has no consumers).
Summary
clients/web/src/types/navigation.tsexportsInspectorTab, a tab-identifier union that has zero references anywhere in the repo (including tests). It duplicates — and drifts from — the live type insrc/utils/inspectorTabs.ts.Surfaced during the #1776 review (PR #1784) while auditing the new
src/libvssrc/utilsrule.The two competing types
They differ in case (lowercase vs capitalized) and membership (
navigation.tsis missingNetwork), and the dead one is the stale copy.Proposed change
src/types/navigation.ts(theInspectorTabtype is dead).InspectorTabIdinsrc/utils/inspectorTabs.ts— no fold needed unless a lowercase-spelled variant is wanted, in which case derive it there.src/types/holds only the ambientreact-syntax-highlighter.d.tsstubs (wired viatsconfig.app.jsonpaths), which makes the refactor(web): sharpen the src/lib vs src/utils rule and move misfiled modules #1776 "no domain types insrc/types/" framing exactly true.Notes
Kept out of PR #1784 deliberately — deleting exported symbols changes the coverage denominator and is a scope change from that PR's pure-move mandate. Behavior-preserving (the type has no consumers).
Acceptance
src/types/navigation.tsremoved;InspectorTabgone.npm run cigreen.