import { APIResource } from "../../../core/resource.mjs"; import * as RubricTemplatesAPI from "./rubric-templates.mjs"; import { RubricCriterion, RubricTemplateCreateParams, RubricTemplateListResponse, RubricTemplateResponse, RubricTemplates } from "./rubric-templates.mjs"; import { APIPromise } from "../../../core/api-promise.mjs"; import { RequestOptions } from "../../../internal/request-options.mjs"; export declare class AssignmentGrader extends APIResource { rubricTemplates: RubricTemplatesAPI.RubricTemplates; /** * Grade a new assignment * * @example * ```ts * const assignmentGrader = * await client.v1.assignmentGrader.create({ * title: 'title', * }); * ``` */ create(body: AssignmentGraderCreateParams, options?: RequestOptions): APIPromise; /** * Delete an assignment grader by ID * * @example * ```ts * await client.v1.assignmentGrader.delete('id'); * ``` */ delete(id: string, options?: RequestOptions): APIPromise; /** * Generate educator report for an assignment * * @example * ```ts * const response = * await client.v1.assignmentGrader.generateReport( * 'assignmentId', * ); * ``` */ generateReport(assignmentID: string, options?: RequestOptions): APIPromise; /** * Get all assignment graders * * @example * ```ts * const assignmentGraderResponses = * await client.v1.assignmentGrader.getAll(); * ``` */ getAll(options?: RequestOptions): APIPromise; /** * Get an assignment grader by ID * * @example * ```ts * const assignmentGraderResponse = * await client.v1.assignmentGrader.getByID('id'); * ``` */ getByID(id: string, options?: RequestOptions): APIPromise; } export interface AssignmentGraderResponse { /** * Version key */ __v: number; /** * Assignment grader ID */ _id: string; /** * Creation timestamp */ createdAt: string; /** * Overall grade percentage */ grade: number; /** * Organization ID */ organizationId: string; /** * Grading results */ rubric: unknown; /** * Assignment title */ title: string; /** * Update timestamp */ updatedAt: string; /** * Assignment ID for grouping */ assignmentId?: string; /** * Assignment content/context provided for grading */ assignmentContent?: string; /** * Grading prompt version used for this submission */ gradingPromptVersion?: string; /** * Material ID */ materialId?: string; /** * Rubric template ID */ rubricTemplateId?: string; /** * Student identifier */ studentIdentifier?: string; /** * Text that was graded */ textToGrade?: string; /** * User ID */ userId?: string; } export interface PerformanceItem { /** * Average score */ avgScore: string; /** * Maximum possible points */ maxPossible: number; /** * Performance ratio as percentage */ performanceRatio: string; /** * Criterion title */ title: string; } export interface AssignmentGraderCreateResponse { gradedAssignment?: AssignmentGraderResponse; success?: boolean; } export interface AssignmentGraderGenerateReportResponse { /** * Assignment ID */ assignmentId: string; /** * Analysis per criterion */ criteriaAnalysis: Array; /** * Grade distribution */ gradeDistribution: AssignmentGraderGenerateReportResponse.GradeDistribution; /** * Grade statistics */ statistics: AssignmentGraderGenerateReportResponse.Statistics; /** * Top performing criteria */ strengths: Array; /** * List of all submissions */ submissions: Array; /** * Assignment title */ title: string; /** * Total number of submissions */ totalSubmissions: number; /** * Criteria needing improvement */ weaknesses: Array; } export declare namespace AssignmentGraderGenerateReportResponse { interface CriteriaAnalysis { /** * Average score for this criterion */ avgScore: number; /** * Maximum possible points */ maxPossible: number; /** * Number of submissions graded */ submissionCount: number; /** * Criterion title */ title: string; } /** * Grade distribution */ interface GradeDistribution { /** * Number of A grades (90-100) */ A: number; /** * Number of B grades (80-89) */ B: number; /** * Number of C grades (70-79) */ C: number; /** * Number of D grades (60-69) */ D: number; /** * Number of F grades (0-59) */ F: number; } /** * Grade statistics */ interface Statistics { /** * Average grade */ averageGrade: string; /** * Maximum grade */ maxGrade: string; /** * Minimum grade */ minGrade: string; /** * Standard deviation */ standardDeviation: string; } interface Submission { /** * Submission ID */ id: string; /** * Submission date */ createdAt: string; /** * Grade percentage */ grade: number; /** * Student identifier */ studentIdentifier: string; } } export type AssignmentGraderGetAllResponse = Array; export interface AssignmentGraderCreateParams { /** * Title of the assignment */ title: string; /** * Assignment ID for grouping submissions */ assignmentId?: string; /** * Additional context for the assignment such as a reading passage, source material, or instructions */ assignmentContent?: string; /** * Grading prompt version to use. Pass "QA" to test the updated lenient prompt. * Defaults to the current production prompt. */ gradingPromptVersion?: string; /** * Material ID to grade */ materialId?: string; /** * AI model to use */ model?: string; /** * Grading rubric */ rubric?: AssignmentGraderCreateParams.Rubric; /** * Rubric template ID to use */ rubricTemplateId?: string; /** * Student identifier (email or ID) */ studentIdentifier?: string; /** * Text content to grade */ textToGrade?: string; /** * User ID for tracking */ userId?: string; } export declare namespace AssignmentGraderCreateParams { /** * Grading rubric */ interface Rubric { /** * Grading criteria */ criteria: Array; /** * Additional context for the assignment such as a reading passage, source material, or instructions */ assignmentContent?: string; } } export declare namespace AssignmentGrader { export { type AssignmentGraderResponse as AssignmentGraderResponse, type PerformanceItem as PerformanceItem, type AssignmentGraderCreateResponse as AssignmentGraderCreateResponse, type AssignmentGraderGenerateReportResponse as AssignmentGraderGenerateReportResponse, type AssignmentGraderGetAllResponse as AssignmentGraderGetAllResponse, type AssignmentGraderCreateParams as AssignmentGraderCreateParams, }; export { RubricTemplates as RubricTemplates, type RubricCriterion as RubricCriterion, type RubricTemplateResponse as RubricTemplateResponse, type RubricTemplateListResponse as RubricTemplateListResponse, type RubricTemplateCreateParams as RubricTemplateCreateParams, }; } //# sourceMappingURL=assignment-grader.d.mts.map