inspector/clients/web/src/utils/inspectorTabs.ts
cliffhall ace4250d31 refactor(web): rename "History" tab/feature to "Protocol" (#1623)
Rename the web client's History tab and its supporting code to Protocol
so the feature reads as the MCP "Protocol" view.

- Tab renders as "Protocol"; INSPECTOR_TAB_IDS, InspectorView tab
  constants/MonitorTab, TAB_UI_REGISTRY key, and navigation.ts tab id all
  updated to Protocol.
- Rename components + folders: HistoryScreen -> ProtocolScreen,
  HistoryListPanel -> ProtocolListPanel, HistoryEntry -> ProtocolEntry,
  HistoryControls -> ProtocolControls, historyUtils -> protocolUtils
  (plus their tests and stories, and exported types).
- Rename App/InspectorView plumbing: historyUi, pinnedHistoryIds,
  on*History* handlers/props, replayHistoryRequest,
  isReplayableHistoryMethod, sort/compact scopes, etc. -> Protocol names.
- Export filenames use the "protocol" slug (buildExportFilename +
  ExportKind).

Preserved (per issue #1623 decisions):
- The in-panel section discriminator keeps its "pinned" | "history"
  values, and the sub-sections stay labeled Pinned / History.
- window.history and core message-log/replay concepts are untouched.

npm run ci passes (format, lint, build, unit tests, >=90 per-file
coverage gate, smoke, Storybook).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BrihGWcrM9JGRyu41nzZYw
2026-07-09 19:04:54 -04:00

24 lines
615 B
TypeScript

/**
* Inspector main-view tab identifiers. Match labels used in ViewHeader /
* InspectorView (`"Tools"`, `"Resources"`, …).
*/
export const INSPECTOR_SERVERS_TAB = "Servers";
/** Tabs with liftable `*UiState` in App.tsx (Servers has no ui snapshot). */
export const INSPECTOR_TAB_IDS = [
"Apps",
"Tools",
"Prompts",
"Resources",
"Tasks",
"Logs",
"Protocol",
"Network",
] as const;
export type InspectorTabId = (typeof INSPECTOR_TAB_IDS)[number];
export function isInspectorTabId(value: string): value is InspectorTabId {
return (INSPECTOR_TAB_IDS as readonly string[]).includes(value);
}