/** * Athena API * REST API for the Athena system * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * * @export * @interface CreateChatRequest */ export interface CreateChatRequest { /** * Optional caller-supplied UUID for the chat. If omitted, one is generated. * @type {string} * @memberof CreateChatRequest */ id?: string; /** * Optional title for the chat. Defaults to 'New Chat' if omitted. * @type {string} * @memberof CreateChatRequest */ title?: string; /** * Optional chat type. Defaults to a general chat if omitted. Use 'level-up' or 'quick-practice' to create a learning session chat; both require primaryConceptId + initialStrength. * @type {string} * @memberof CreateChatRequest */ chatType?: string; /** * Visibility of the chat. Defaults to 'private' if omitted. * @type {string} * @memberof CreateChatRequest */ visibility?: CreateChatRequestVisibilityEnum; /** * Concept this learning session chat is bound to. Required when chatType is 'level-up' or 'quick-practice'; ignored for other chat types. * @type {string} * @memberof CreateChatRequest */ primaryConceptId?: string; /** * Snapshot of the learner's current strength for primaryConceptId (0..1). Required when chatType is 'level-up' or 'quick-practice'. Used by the session-end rollup and the surprise tier-advance check at close. * @type {number} * @memberof CreateChatRequest */ initialStrength?: number; /** * Optional study guide (taxonomy) this chat is scoped to. Persists on `chats.taxonomyId` for any chatType — the existing AI tooling (`getTaxonomy` + `getUserTaxonomyProgress` tool registration, study-guide-scoped system prompt) keys off the row regardless of chatType. The level-up prompt additionally injects the study guide name + description as anchoring context in the prompt body. Caller must be actively enrolled in the supplied taxonomy or the request is rejected with 403, matching the message-stream path's enrollment check. * @type {string} * @memberof CreateChatRequest */ taxonomyId?: string; /** * Optional Canvas course id to ground this chat to (study-space quick actions). Persists on `chats.courseId`. When set on a conversational chat (chatType null), the chat stream injects a study-space context block that asserts the course is the subject of the chat and, when the learner's Canvas tools are registered, points the model at the course's Canvas data. Not injected for typed chats (onboarding, quizzes, learning sessions), whose curated prompts don't expect it. Not validated against a local course row — Canvas courses are not mirrored in this database. * @type {string} * @memberof CreateChatRequest */ courseId?: string; } /** * @export */ export declare const CreateChatRequestVisibilityEnum: { readonly Public: "public"; readonly Private: "private"; }; export type CreateChatRequestVisibilityEnum = typeof CreateChatRequestVisibilityEnum[keyof typeof CreateChatRequestVisibilityEnum]; /** * Check if a given object implements the CreateChatRequest interface. */ export declare function instanceOfCreateChatRequest(value: object): value is CreateChatRequest; export declare function CreateChatRequestFromJSON(json: any): CreateChatRequest; export declare function CreateChatRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateChatRequest; export declare function CreateChatRequestToJSON(json: any): CreateChatRequest; export declare function CreateChatRequestToJSONTyped(value?: CreateChatRequest | null, ignoreDiscriminator?: boolean): any;