/** * SmartyMeet Dev03 API REST * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.0.1 * Contact: developer@smartymeet.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { AttemptEvaluationSchema } from './AttemptEvaluationSchema'; import type { AttemptProctoringSchema } from './AttemptProctoringSchema'; import type { AnswerSchema } from './AnswerSchema'; import type { ResourceTimestampsSchema } from './ResourceTimestampsSchema'; /** * * @export * @interface AttemptAttributesSchema */ export interface AttemptAttributesSchema { /** * Attempt lifecycle. Set server-side; only `submitted` is candidate-writable (via guest PATCH). * @type {AttemptAttributesSchemaStatusEnum} * @memberof AttemptAttributesSchema */ status?: AttemptAttributesSchemaStatusEnum; /** * Locale the candidate is taking the assessment in (e.g. 'en-US'). * @type {string} * @memberof AttemptAttributesSchema */ languageCode?: string; /** * Candidate's display name, denormalised from the candidate row * at attempt-create time. Lets the guest endpoint render * "Hello {name}" without granting the guest IAM role candidate * table access. Snapshot - reflects the name as of attempt * creation; not kept in sync if the candidate is later renamed. * @type {string} * @memberof AttemptAttributesSchema */ candidateName?: string; /** * Candidate's email, denormalised from the candidate row at * attempt-create time. Same rationale as candidateName. * @type {string} * @memberof AttemptAttributesSchema */ candidateEmail?: string; /** * Job title denormalised from the job's multilingual title at * attempt-create time. Multilingual dict keyed by locale * (e.g. {"en-US": "Senior Engineer", "pl-PL": "Starszy Inżynier"}); * FE resolves against attempt.languageCode. Absent when the * attempt has no job FK. * @type {{ [key: string]: any; }} * @memberof AttemptAttributesSchema */ jobTitle?: { [key: string]: any; }; /** * Assessment template title denormalised from the template's * multilingual `name` field at attempt-create time. Same shape * as jobTitle. Filled in by the attempt DAL from the template * if the create request omits it. * @type {{ [key: string]: any; }} * @memberof AttemptAttributesSchema */ assessmentTitle?: { [key: string]: any; }; /** * Candidate's answers, one per attempted question. See AnswerSchema. * @type {Array} * @memberof AttemptAttributesSchema */ answers?: Array; /** * * @type {AttemptEvaluationSchema} * @memberof AttemptAttributesSchema */ evaluation?: AttemptEvaluationSchema; /** * * @type {AttemptProctoringSchema} * @memberof AttemptAttributesSchema */ proctoring?: AttemptProctoringSchema; /** * File-extraction results, one entry per file that * file:process processed during the assessment workflow's * process_attachments step. Stamped onto the attempt by * the workflow's `attempt:trigger_evaluation` action right * before /reevaluate fires. The eval Lambda joins these * onto answers[i].files[i] by fileKey so the AI evaluator * sees extracted content (transcripts / slide text / OCR) * alongside the candidate's text answer for the same * question. Locale value type left as Any because each * file:process emits a different shape per content type * (PDF text, video transcript, etc). * @type {Array<{ [key: string]: any; }>} * @memberof AttemptAttributesSchema */ fileResults?: Array<{ [key: string]: any; }>; /** * When the candidate first opened the attempt link (status pending->inProgress). * @type {Date} * @memberof AttemptAttributesSchema */ startedAt?: Date; /** * When the candidate finalised their answers (status inProgress->submitted). * @type {Date} * @memberof AttemptAttributesSchema */ submittedAt?: Date; /** * When the AI evaluator wrote the evaluation block (status submitted->evaluated). * @type {Date} * @memberof AttemptAttributesSchema */ evaluatedAt?: Date; /** * Hard cutoff for the candidate to start. After this, /v1/guest/attempts rejects with 410-style errors. * @type {Date} * @memberof AttemptAttributesSchema */ expiresAt?: Date; /** * Time limit for the candidate to complete the attempt. Inherited from the template by default. * @type {number} * @memberof AttemptAttributesSchema */ durationMinutes?: number; /** * Identifier of the AI scorer that produced the evaluation (e.g. 'gpt-5-mini-v1'). Bumped on re-evaluate. * @type {string} * @memberof AttemptAttributesSchema */ evaluatorVersion?: string; /** * FK to the assessment template - same id as relationships.assessment.data.id, exposed flat for filter convenience. * @type {string} * @memberof AttemptAttributesSchema */ assessmentId?: string; /** * FK to the candidate - same id as relationships.candidate.data.id. * @type {string} * @memberof AttemptAttributesSchema */ candidateId?: string; /** * * @type {ResourceTimestampsSchema} * @memberof AttemptAttributesSchema */ timestamps?: ResourceTimestampsSchema; } /** * @export */ export declare const AttemptAttributesSchemaStatusEnum: { readonly Pending: "pending"; readonly InProgress: "inProgress"; readonly Submitted: "submitted"; readonly Evaluated: "evaluated"; readonly Reviewed: "reviewed"; readonly Anonymized: "anonymized"; readonly Failed: "failed"; }; export type AttemptAttributesSchemaStatusEnum = typeof AttemptAttributesSchemaStatusEnum[keyof typeof AttemptAttributesSchemaStatusEnum]; /** * Check if a given object implements the AttemptAttributesSchema interface. */ export declare function instanceOfAttemptAttributesSchema(value: object): value is AttemptAttributesSchema; export declare function AttemptAttributesSchemaFromJSON(json: any): AttemptAttributesSchema; export declare function AttemptAttributesSchemaFromJSONTyped(json: any, ignoreDiscriminator: boolean): AttemptAttributesSchema; export declare function AttemptAttributesSchemaToJSON(json: any): AttemptAttributesSchema; export declare function AttemptAttributesSchemaToJSONTyped(value?: AttemptAttributesSchema | null, ignoreDiscriminator?: boolean): any; //# sourceMappingURL=AttemptAttributesSchema.d.ts.map