/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import { lessonPlansGetStudentCourseProgress } from "../../funcs/lessonPlansGetStudentCourseProgress.js";
import * as operations from "../../models/operations/index.js";
import { formatResult } from "../tools.js";
const args = {
    request: operations.GetCourseProgressRequest$inboundSchema,
};
export const tool$lessonPlansGetStudentCourseProgress = {
    name: "lesson-plans-get-student-course-progress",
    description: `Get course progress


Get the course progress for a student in a course.

---

Returns a list of **assessment line items** for the **course** and **student**.

A type "**component**" indicates a component of the lesson plan such as a unit or lesson.

A type "**resource**" indicates a resource such as a video, audio,
or document file as well as a quiz or question.

Each **line item** contains a list of assessment results in the **results** attribute, related to student and course.
    `,
    args,
    tool: async (client, args, ctx) => {
        const [result, apiCall] = await lessonPlansGetStudentCourseProgress(client, args.request, { fetchOptions: { signal: ctx.signal } }).$inspect();
        if (!result.ok) {
            return {
                content: [{ type: "text", text: result.error.message }],
                isError: true,
            };
        }
        const value = result.value;
        return formatResult(value, apiCall);
    },
};
//# sourceMappingURL=lessonPlansGetStudentCourseProgress.js.map