Skip to content

Latest commit

 

History

History
36 lines (19 loc) · 1.61 KB

Question-Types.md

File metadata and controls

36 lines (19 loc) · 1.61 KB

Question types

Plugins implement QuestionPlugin from @assessment-os/core (validateConfig, grade, optional React Builder / Renderer / Reviewer).

First-class types

MCQ (mcq)

Multiple choice; single or multi-select. Option labels support rich text (TipTap). Graded by exact option-id match.

Coding (coding)

Two modes:

  • unit — pytest / Jest / PHPUnit / JUnit / GoogleTest (preferred for callable APIs)
  • io — stdin/stdout cases

Also supports multi-file workspaces (starterFiles + entryFile), time/memory limits, proportional scoring, and optional Python I/O checkerCode. Details: [[Coding-Runner]].

SQL (sql)

SQLite only. Config: schemaSql, seedSql, visible/hidden tests with expectedRows. Candidates submit a SELECT; hidden sets grade on submit. Hidden tests are stripped for candidates.

Short answer (text)

gradingMode: exact | contains_any | contains_all | manual. Manual always needs recruiter review.

Video response (video)

Candidate records via webcam (MediaRecorder) and/or uploads a video file (configurable). Stored as an asset-backed answer (assetId). Graded as manual review (auto score 0 + needsReview). While the attempt is in progress, candidates can retake/replace; after question submit, the answer is locked like other types. Playback on session review.

Config: maxDurationSeconds (default 120), maxBytes (default 50MB), allowUpload (default true). Answer: { assetId, contentType, filename?, durationMs?, byteSize? }.

Stubs

design and file packages remain stubs for a later plugin track (see [[Roadmap]]).