Files
agent-desktop/console/src/utils/sessionRoute.ts
T
Pine 26e305e805 feat(chat): 阶段 2 聊天体验移植上游 v2.2.0
- B 桶 Chat 系直接采用上游(含云超服主题色映射):HarnessModelSelector/ChatActionGroup/ChatHeaderTitle/LoopModeSelector/ApprovalLevelToggle/ChatSenderTabsPanel/BackgroundTaskPanel/ContextUsageIndicator/HarnessApprovalToggle/useToolCallControl/harness/provider api
- ToolCardShell 上游基底+补本地 inputProgress;merge_less.py 三向 LESS 并合 8 个 module.less
- ModelSelector 三 Tab 并合(上游重构基底+云超服 pineagents Tab,默认保留 pineagents)
- Chat/index.tsx 上游基底 + 10 依赖模块(InlineMarkdown 平铺版/RichFileReferenceInput/MediaDownload 等)
- 复制 upstream_only:turnUsage/turnUsageStore/sessionRoute/loopModeDescription/resolveLocalizedText
- api/types/provider.ts 双改并合(ProviderInfo 补 discovery 字段)
- 新增依赖 lexical@0.48.0+@lexical/react@0.48.0;vite.config 增加 DefaultCards/Audios 精确 alias
- locales 6 语言补齐 36 个上游 chat.* key(my/th/lo 英文占位)
- 测试采用上游版;ModelSelector.test 预设 pro tab 保留云超服默认 pineagents
- tsc 0 错误,build 通过,阶段 2 相关 344 测试全过
2026-09-04 11:55:51 +08:00

25 lines
675 B
TypeScript

export type SessionRouteMode = "chat" | "coding";
export function getSessionIdFromPath(pathname: string): string | undefined {
const match = pathname.match(/^\/chat\/(.+)$/);
return match?.[1];
}
export const CHAT_BASE_PATH = "/chat";
export function buildChatPath(sessionId?: string | null): string {
return sessionId ? `${CHAT_BASE_PATH}/${sessionId}` : CHAT_BASE_PATH;
}
export function buildBasePath(mode: SessionRouteMode): string {
return `/${mode}`;
}
export function buildSessionPath(
mode: SessionRouteMode,
sessionId?: string | null,
): string {
const basePath = buildBasePath(mode);
return sessionId ? `${basePath}/${sessionId}` : basePath;
}