refactor(teacher): retire discussion components and keep text replies

This commit is contained in:
鲨鱼辣椒
2026-09-28 13:54:55 +08:00
parent ae0f72d8fa
commit 998796d77c
32 changed files with 1060 additions and 1794 deletions

View File

@@ -1,4 +1,3 @@
import type { TeacherDiscussion, TeacherDiscussionContent } from './teacher-discussion';
import type { PublicUsage } from './coding-conversation-contracts';
/** Only retained for locating conversations created by older clients. */
@@ -67,24 +66,15 @@ export type TeacherRequestStatus =
| 'failed'
| 'cancelled'
| 'interrupted';
export interface TeacherDiscussionContext {
toolId: string;
revision: number;
focusId?: string;
transition?: 'structure';
}
export interface TeacherDiscussionAction {
toolId: string;
revision: number;
action: 'enter' | 'pause' | 'finish' | 'resume' | 'keep-idea' | 'aside-idea' | 'first-idea' | 'back-ideas';
itemId?: string;
}
export interface TeacherRequest {
presentation?: 'discussion-v1';
discussionContext?: TeacherDiscussionContext;
discussionSnapshot?: TeacherDiscussionContent;
/** discussion-v1 is retained only to identify historical replies. */
presentation?: 'reply-v1' | 'discussion-v1';
/** Archived legacy data; never parsed into interactive component state. */
discussionContext?: unknown;
discussionSnapshot?: unknown;
discussionError?: string;
/** Original answer retained when discussion parsing fails; never fed back as context. */
replyParseError?: string;
/** Original answer retained when reply parsing fails; never fed back as context. */
unparsedResponse?: string;
toolActivity?: TeacherToolActivity[];
@@ -115,7 +105,8 @@ export interface TeacherToolActivity {
status: 'running' | 'completed' | 'failed';
}
export interface TeacherTopic {
discussion?: TeacherDiscussion;
/** Archived legacy data; new requests do not create or update it. */
discussion?: unknown;
role?: LegacyConsultationRole;
revision: number;
schemaVersion: 1;
@@ -136,8 +127,6 @@ export interface TeacherTopicList {
lastSelectedTopicId: string | null;
}
export interface TeacherSend {
presentation?: 'discussion-v1';
discussion?: TeacherDiscussionContext;
intent?: TeacherRequestIntent;
sourceConversationId?: string;
requestId: string;