chat: rename the pi-mono provider router + purge residual pi names (Stage 4b/2)

Renames the AI-harness/provider settings router into the chat namespace and
clears the remaining "pi" identifiers from the chat stack.

- server-settings/pi-mono.ts → chat-providers.ts; piMonoRouter → chatProvidersRouter;
  route /server-settings/pi-mono → /server-settings/chat-providers (+ all callers)
- piId → providerId (PROVIDERS map + AIHarnessesSection UI), PiProvider → ChatProvider,
  PI_MONO_* query keys → CHAT_PROVIDERS_*, installPiMono → installAgent
- data-path: PI_CONFIG_DIR → AGENT_CONFIG_DIR (path ~/.pi/agent unchanged);
  drop dead getPiMonoDir/getPiMonoSessionDir exports
- settings: flip the vestigial defaultProvider literal 'pi' → 'chat' (never read;
  only defaultModel drives behavior); access-policy config key 'pi-access-policy'
  → 'chat-access-policy'
- misc: ModelSelector fallback label, TaskDefaults model grouping, CapabilityPage
  chat var, a stale stream-parser comment

Intentionally left (genuine external `pi`/opencode references, not ours to rename):
the `pi` binary install/version flow (@mariozechner/pi-coding-agent, `which pi`),
the ~/.pi/agent config path, PI_TOOLS_DIRS/PI_SEARXNG_URL runtime env-var contract,
TOOL.md `targets: pi` metadata, and the "Pi Mono" installer UI label.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-24 15:52:58 +00:00
co-authored by Claude Opus 4.8
parent 49df1c0b0c
commit 669692355d
15 changed files with 140 additions and 144 deletions
+2 -6
View File
@@ -20,7 +20,8 @@ export const ensureItemDirs = () => {
export const SERVER_CONFIG_DIR = join(DATA_PATH, 'server-settings');
export const PI_CONFIG_DIR = join(homedir(), '.pi', 'agent');
// The `pi`/opencode agent's own config dir (auth.json + models.json). External-tool path.
export const AGENT_CONFIG_DIR = join(homedir(), '.pi', 'agent');
export const SEED_PATH = resolve(import.meta.dir, '../../seed');
@@ -31,11 +32,6 @@ export const getClaudeDir = (email: string) => join(DATA_PATH, email, 'chat_sess
export const getSessionDir = (email: string, sessionId: string) =>
join(DATA_PATH, email, 'chat_sessions', 'claude', sessionId);
export const getPiMonoDir = (email: string) => join(DATA_PATH, email, 'chat_sessions', 'pi-mono');
export const getPiMonoSessionDir = (email: string, sessionId: string) =>
join(DATA_PATH, email, 'chat_sessions', 'pi-mono', sessionId);
export const getArchivedSessionDir = (email: string, sessionId: string) =>
join(DATA_PATH, email, 'chat_sessions', 'claude', 'archived', sessionId);