Merge reply recovery and simplified consultation UI into ongoing chats

This commit is contained in:
鲨鱼辣椒 committed 2026-09-28 18:05:39 +08:00
commit d032425521
37 files changed
+2089 -1940

No files matched your search

+12 -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,16 @@ 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;
/** No trustworthy complete reply could be recovered from the received text. */
replyIncomplete?: boolean;
/** Original answer retained for failed or repaired parsing; never fed back as context. */
unparsedResponse?: string;
toolActivity?: TeacherToolActivity[];
@@ -127,10 +118,11 @@ export interface TeacherTopic {
agentId: string;
runtimeThreadId?: string;
segmentTurns: number;
discussions: Record<string, TeacherDiscussion>;
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 +144,6 @@ export interface TeacherTopicList {
}
export interface TeacherSend {
projectId?: string;
presentation?: 'discussion-v1';
discussion?: TeacherDiscussionContext;
intent?: TeacherRequestIntent;
sourceConversationId?: string;
requestId: string;