feat: integrate pixel teacher presence and resilient classroom preview

This commit is contained in:
鲨鱼辣椒
2026-09-23 18:23:53 +08:00
parent 12d800ec51
commit 7951cca700
60 changed files with 3313 additions and 180 deletions

View File

@@ -2,7 +2,9 @@ import type { ManagedReasoningChoice } from './managed-model-capabilities';
import type { PublicUsage } from './coding-conversation-contracts';
export type ConsultationRole = 'teacher' | 'friend';
export type TeacherRequestIntent = 'question' | 'suggestions' | 'guided-help';
export const TEACHER_CHECK_IN_INTERVAL_MS = 5 * 60 * 1000;
export const TEACHER_UNCHANGED_CHECK_IN_INTERVAL_MS = 15 * 60 * 1000;
export type TeacherRequestIntent = 'question' | 'suggestions' | 'guided-help' | 'check-in';
export interface TeacherDefinition {
schema_version: 1;
@@ -55,6 +57,8 @@ export type TeacherRequestStatus =
export interface TeacherRequest {
intent?: TeacherRequestIntent;
sourceConversationId?: string;
/** Digest of completed source text, retained for check-in deduplication across restarts. */
checkInSourceFingerprint?: string;
id: string;
text: string;
references: TeacherReference[];
@@ -96,3 +100,11 @@ export interface TeacherSend {
text: string;
references?: TeacherReference[];
}
export interface TeacherCheckInInput {
requestId: string;
sourceConversationId: string;
}
export interface TeacherCheckInResult {
topic: TeacherTopic | null;
skipped?: 'busy' | 'cooldown' | 'unchanged' | 'no-context' | 'archived' | 'disabled';
}