Files
superwork/vscode/src/panel/handlers/sessionKinds.ts
T

52 lines
2.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { SessionTabKind } from './terminals'
/** 工单 state 里存各种会话 id 的字段。 */
export type SessionIdField = 'sessionId' | 'implementSessionId' | 'reviewSessionId' | 'testSessionId' | 'prototypeSessionId'
/**
* 每种会话对应的 state 字段、中文角色名,以及清除该会话 id 后的后续提示:
* confirmHint 进确认框,doneHint 进成功 toast。
*/
export const SESSION_KINDS: Record<SessionTabKind, { field: SessionIdField, role: string, confirmHint: string, doneHint: string }> = {
brainstorm: {
field: 'sessionId',
role: '头脑风暴',
confirmHint: '下次续聊会新开会话',
doneHint: '下次续聊将新开会话',
},
implement: {
field: 'implementSessionId',
role: '实施',
confirmHint: '清除后可点 ▶ 重新实施,注意重新实施会删掉远程 feature 分支,别的机器上的实施进度会丢',
doneHint: '可点 ▶ 重新实施(会删掉远程 feature 分支)',
},
review: {
field: 'reviewSessionId',
role: '审查',
confirmHint: '清除后可点 ▶ 新起一个',
doneHint: '可点 ▶ 新起一个',
},
test: {
field: 'testSessionId',
role: '测试',
confirmHint: '清除后可点 ▶ 新起一个',
doneHint: '可点 ▶ 新起一个',
},
prototype: {
field: 'prototypeSessionId',
role: '原型',
confirmHint: '清除后可点 ▶ 新起一个',
doneHint: '可点 ▶ 新起一个',
},
}
export function clearSessionConfirmText(issueNumber: number, kind: SessionTabKind, sessionId: string): string {
const { role, confirmHint } = SESSION_KINDS[kind]
return `确定清除工单 #${issueNumber} 的${role}会话 id(${sessionId})?只清本机记录,别的机器不受影响;会话文件不删。${confirmHint}。`
}
export function clearSessionDoneText(issueNumber: number, kind: SessionTabKind): string {
const { role, doneHint } = SESSION_KINDS[kind]
return `工单 #${issueNumber} 的${role}会话 id 已清除,${doneHint}`
}