Merge remote main with teacher streaming and composer updates
Some checks failed
Electron E2E / Electron E2E (macos-latest) (push) Has been cancelled
Electron E2E / Electron E2E (ubuntu-latest) (push) Has been cancelled
Electron E2E / Electron E2E (windows-latest) (push) Has been cancelled

This commit is contained in:
2026-09-29 21:37:50 +08:00
98 changed files with 3934 additions and 359 deletions

View File

@@ -78,6 +78,8 @@ export interface TeacherRequest {
projectId?: string;
projectName?: string;
teacherVersion?: number;
/** Explicit per-question model; absent follows the published teacher configuration. */
modelId?: string;
runtimeThreadId?: string;
origin?: { projectId: string; topicId: string; requestId: string };
/** discussion-v1 is retained only to identify historical replies. */
@@ -105,6 +107,8 @@ export interface TeacherRequest {
text: string;
references: TeacherReference[];
createdAt: string;
/** Actual terminal time, absent in older history; never inferred from topic.updatedAt. */
finishedAt?: string;
sourceCursor: TeacherSourceContext['cursor'];
sourceCapturedAt: string;
includedSourceMessageIds: string[];
@@ -154,7 +158,13 @@ export interface TeacherTopicList {
items: Array<{ id: string; title: string; updatedAt: string; version: number; teacherId?: string; legacyRole?: 'friend'; legacySourceId?: string }>;
lastSelectedTopicId: string | null;
}
export interface TeacherModelCatalog {
supported: boolean;
models: Array<{ id: string }>;
message?: string;
}
export interface TeacherSend {
modelId?: string;
projectId?: string;
intent?: TeacherRequestIntent;
sourceConversationId?: string;