"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.tool$powerPathCourseMasteryImportExternalTestAssignmentResults = void 0;
const powerPathCourseMasteryImportExternalTestAssignmentResults_js_1 = require("../../funcs/powerPathCourseMasteryImportExternalTestAssignmentResults.js");
const operations = __importStar(require("../../models/operations/index.js"));
const tools_js_1 = require("../tools.js");
const args = {
    request: operations.ImportExternalTestAssignmentResultsRequest$inboundSchema,
};
exports.tool$powerPathCourseMasteryImportExternalTestAssignmentResults = {
    name: "power-path-course-mastery-import-external-test-assignment-results",
    description: `Import external test assignment results

Retrieves and stores the results of the external test assignment:
- Applies to both 'test-out' and 'placement' lessons.

This logic changes depending on the stored "toolProvider" of the lesson:
- For "edulastic" (currently the only one supported):

  - If the lesson is already finalized, no data import is performed.
  - If the lesson is not finalized, this will start populating the test and question results with available data, including question scores and feedback. The test will then be deemed finalized when all questions have been answered and the test grade is "GRADED".

Will fail if:
- The lesson is not an external "test-out" or "placement", or the student does not exist
- Credentials for data consumption are not available in the test result of this student (meaning a previous test assignment was not made)
- Any other problem on the Edulastic API being used that may happen

The actual test results can be retrieved by using the "getAssessmentProgress" endpoint.

A 'Lesson' in this context is a ComponentResource object which has a Resource object with lessonType = "test-out" or "placement" associated with it.
`,
    args,
    tool: async (client, args, ctx) => {
        const [result, apiCall] = await (0, powerPathCourseMasteryImportExternalTestAssignmentResults_js_1.powerPathCourseMasteryImportExternalTestAssignmentResults)(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 (0, tools_js_1.formatResult)(value, apiCall);
    },
};
//# sourceMappingURL=powerPathCourseMasteryImportExternalTestAssignmentResults.js.map