Merge project conversations and cloud coding teacher into main
This commit is contained in:
@@ -34,6 +34,7 @@ export interface CodingProjectConfig {
|
||||
schemaVersion: 2;
|
||||
projectType: ProjectType;
|
||||
projectId?: string;
|
||||
defaultAgentId?: string;
|
||||
initialized: boolean;
|
||||
agents: CodingProjectAgent[];
|
||||
knowledgeDirectory: 'knowledge';
|
||||
|
||||
89
shared/coding-teacher.ts
Normal file
89
shared/coding-teacher.ts
Normal file
@@ -0,0 +1,89 @@
|
||||
import type { ManagedReasoningChoice } from './managed-model-capabilities';
|
||||
import type { PublicUsage } from './coding-conversation-contracts';
|
||||
|
||||
export interface TeacherDefinition {
|
||||
schema_version: 1;
|
||||
teacher_id: 'coding-teacher';
|
||||
name: string;
|
||||
description: string;
|
||||
avatar_id: string;
|
||||
welcome_message: string;
|
||||
suggested_questions: string[];
|
||||
system_prompt: string;
|
||||
skills: Array<{
|
||||
id: string;
|
||||
name: string;
|
||||
description: string;
|
||||
instructions_markdown: string;
|
||||
enabled: boolean;
|
||||
}>;
|
||||
model: { model_id: string | null; reasoning_choice: ManagedReasoningChoice };
|
||||
limits: { max_input_tokens: number; max_output_tokens: number };
|
||||
}
|
||||
export interface TeacherAvailability {
|
||||
enabled: boolean;
|
||||
published_version: number | null;
|
||||
revision: number;
|
||||
}
|
||||
export interface TeacherReference {
|
||||
kind: 'message' | 'code';
|
||||
text: string;
|
||||
messageId?: string;
|
||||
path?: string;
|
||||
startLine?: number;
|
||||
}
|
||||
export interface TeacherSourceMessage {
|
||||
id: string;
|
||||
role: 'user' | 'assistant';
|
||||
text: string;
|
||||
}
|
||||
export interface TeacherSourceContext {
|
||||
messages: TeacherSourceMessage[];
|
||||
cursor: { workerGeneration: number; seq: number; leafEntryId?: string };
|
||||
capturedAt: string;
|
||||
}
|
||||
export type TeacherRequestStatus =
|
||||
| 'preparing'
|
||||
| 'running'
|
||||
| 'completed'
|
||||
| 'failed'
|
||||
| 'cancelled'
|
||||
| 'interrupted';
|
||||
export interface TeacherRequest {
|
||||
id: string;
|
||||
text: string;
|
||||
references: TeacherReference[];
|
||||
createdAt: string;
|
||||
sourceCursor: TeacherSourceContext['cursor'];
|
||||
sourceCapturedAt: string;
|
||||
includedSourceMessageIds: string[];
|
||||
omittedMessages: number;
|
||||
status: TeacherRequestStatus;
|
||||
response: string;
|
||||
error?: string;
|
||||
usage?: PublicUsage;
|
||||
}
|
||||
export interface TeacherTopic {
|
||||
revision: number;
|
||||
schemaVersion: 1;
|
||||
id: string;
|
||||
accountId: string;
|
||||
projectId: string;
|
||||
sourceConversationId: string;
|
||||
version: number;
|
||||
draftRevision?: number;
|
||||
definition: TeacherDefinition;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
requests: TeacherRequest[];
|
||||
unsaved?: boolean;
|
||||
}
|
||||
export interface TeacherTopicList {
|
||||
items: Array<{ id: string; title: string; updatedAt: string; version: number }>;
|
||||
lastSelectedTopicId: string | null;
|
||||
}
|
||||
export interface TeacherSend {
|
||||
requestId: string;
|
||||
text: string;
|
||||
references?: TeacherReference[];
|
||||
}
|
||||
Reference in New Issue
Block a user