Merge teacher reply cleanup with continuous conversations

This commit is contained in:
鲨鱼辣椒 committed 2026-09-28 18:29:04 +08:00
commit 581ebc888b
40 files changed
+1759 -1988

No files matched your search

+11 -22
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,19 +66,6 @@ export type TeacherRequestStatus =
| 'failed'
| 'cancelled'
| 'interrupted';
export interface TeacherDiscussionContext {
toolId: string;
revision: number;
focusId?: string;
transition?: 'structure';
}
export interface TeacherDiscussionAction {
projectId?: string;
toolId: string;
revision: number;
action: 'enter' | 'pause' | 'finish' | 'resume' | 'keep-idea' | 'aside-idea' | 'first-idea' | 'back-ideas';
itemId?: string;
}
export interface TeacherRequest {
/** Frozen when this turn is accepted; history can span projects and releases. */
projectId?: string;
@@ -87,11 +73,14 @@ export interface TeacherRequest {
teacherVersion?: number;
runtimeThreadId?: string;
origin?: { projectId: string; topicId: string; requestId: string };
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[];
@@ -127,10 +116,12 @@ export interface TeacherTopic {
agentId: string;
runtimeThreadId?: string;
segmentTurns: number;
discussions: Record<string, TeacherDiscussion>;
/** Archived per-project component data; never selected or updated by new turns. */
discussions?: Record<string, unknown>;
seenThrough?: string;
};
discussion?: TeacherDiscussion;
/** Archived legacy data; new requests do not create or update it. */
discussion?: unknown;
role?: LegacyConsultationRole;
revision: number;
schemaVersion: 1;
@@ -152,8 +143,6 @@ export interface TeacherTopicList {
}
export interface TeacherSend {
projectId?: string;
presentation?: 'discussion-v1';
discussion?: TeacherDiscussionContext;
intent?: TeacherRequestIntent;
sourceConversationId?: string;
requestId: string;