@tinyweb_dev/oe-exam-sdk 0.1.24 → 0.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +5 -4
  2. package/dist/components/exams/ExamPreviewDialog.d.ts +7 -6
  3. package/dist/components/exams/ExamPreviewDialog.js +1 -1
  4. package/dist/components/exams/index.d.ts +0 -1
  5. package/dist/components/exams/take/components/QuestionRenderer.js +1 -1
  6. package/dist/components/exams/take/components/question-renderers/MoversListenAndWriteRenderer.js +1 -1
  7. package/dist/components/exams/take/components/question-renderers/MoversWordFillStructuredFormRenderer.js +1 -1
  8. package/dist/components/exams/take/exam-taking.utils.d.ts +0 -13
  9. package/dist/components/exams/take/exam-taking.utils.js +1 -1
  10. package/dist/components/exams/take/utils/answer-transformers.js +1 -1
  11. package/dist/components/exams/take/utils/question-transformers.d.ts +7 -17
  12. package/dist/components/exams/take/utils/question-transformers.js +1 -1
  13. package/dist/components/questions/_shared/config/question-types.config.js +1 -1
  14. package/dist/components/questions/_shared/types/choose-the-correct-answer-group.type.d.ts +36 -0
  15. package/dist/components/questions/_shared/types/cross-out-word-group.type.d.ts +40 -0
  16. package/dist/components/questions/_shared/types/index.d.ts +1 -0
  17. package/dist/components/questions/_shared/types/index.js +1 -1
  18. package/dist/components/questions/_shared/types/true-false-group.type.d.ts +31 -0
  19. package/dist/components/questions/_shared/types/true-false-group.type.js +1 -0
  20. package/dist/components/questions/_shared/types/word-fill-structured-form.type.d.ts +29 -26
  21. package/dist/components/questions/creator/question-type-registry.js +1 -1
  22. package/dist/components/questions/index.d.ts +0 -1
  23. package/dist/components/questions/index.js +1 -1
  24. package/dist/components/questions/types/choose-the-correct-answer/ChooseTheCorrectAnswerClient.js +1 -1
  25. package/dist/components/questions/types/choose-the-correct-answer/transform.js +1 -1
  26. package/dist/components/questions/types/choose-the-correct-answer-group/ChooseTheCorrectAnswerGroupClient.d.ts +2 -0
  27. package/dist/components/questions/types/choose-the-correct-answer-group/ChooseTheCorrectAnswerGroupClient.js +1 -0
  28. package/dist/components/questions/types/choose-the-correct-answer-group/ChooseTheCorrectAnswerGroupCreator.d.ts +2 -0
  29. package/dist/components/questions/types/choose-the-correct-answer-group/ChooseTheCorrectAnswerGroupCreator.js +1 -0
  30. package/dist/components/questions/types/choose-the-correct-answer-group/index.d.ts +2 -0
  31. package/dist/components/questions/types/choose-the-correct-answer-group/index.js +1 -0
  32. package/dist/components/questions/types/choose-the-correct-answer-group/register.d.ts +2 -0
  33. package/dist/components/questions/types/choose-the-correct-answer-group/register.js +1 -0
  34. package/dist/components/questions/types/choose-the-correct-answer-group/transform.d.ts +2 -0
  35. package/dist/components/questions/types/choose-the-correct-answer-group/transform.js +1 -0
  36. package/dist/components/questions/types/cross-out-word-group/CrossOutWordGroupClient.d.ts +2 -0
  37. package/dist/components/questions/types/cross-out-word-group/CrossOutWordGroupClient.js +1 -0
  38. package/dist/components/questions/types/cross-out-word-group/CrossOutWordGroupCreator.d.ts +2 -0
  39. package/dist/components/questions/types/cross-out-word-group/CrossOutWordGroupCreator.js +1 -0
  40. package/dist/components/questions/types/cross-out-word-group/index.d.ts +4 -0
  41. package/dist/components/questions/types/cross-out-word-group/index.js +1 -0
  42. package/dist/components/questions/types/cross-out-word-group/register.d.ts +2 -0
  43. package/dist/components/questions/types/cross-out-word-group/register.js +1 -0
  44. package/dist/components/questions/types/cross-out-word-group/transform.d.ts +2 -0
  45. package/dist/components/questions/types/cross-out-word-group/transform.js +1 -0
  46. package/dist/components/questions/types/true-false-group/TrueFalseGroupClient.d.ts +2 -0
  47. package/dist/components/questions/types/true-false-group/TrueFalseGroupClient.js +1 -0
  48. package/dist/components/questions/types/true-false-group/TrueFalseGroupCreator.d.ts +2 -0
  49. package/dist/components/questions/types/true-false-group/TrueFalseGroupCreator.js +1 -0
  50. package/dist/components/questions/types/true-false-group/index.d.ts +4 -0
  51. package/dist/components/questions/types/true-false-group/index.js +1 -0
  52. package/dist/components/questions/types/true-false-group/register.d.ts +2 -0
  53. package/dist/components/questions/types/true-false-group/register.js +1 -0
  54. package/dist/components/questions/types/true-false-group/transform.d.ts +2 -0
  55. package/dist/components/questions/types/true-false-group/transform.js +1 -0
  56. package/dist/components/questions/types/word-fill-structured-form/WfsfWordBankEditor.d.ts +14 -0
  57. package/dist/components/questions/types/word-fill-structured-form/WfsfWordBankEditor.js +1 -0
  58. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormClient.d.ts +1 -1
  59. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormClient.js +1 -1
  60. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormCreator.d.ts +1 -1
  61. package/dist/components/questions/types/word-fill-structured-form/WordFillStructuredFormCreator.js +1 -1
  62. package/dist/components/questions/types/word-fill-structured-form/register.js +1 -1
  63. package/dist/components/questions/types/word-fill-structured-form/transform.d.ts +5 -2
  64. package/dist/components/questions/types/word-fill-structured-form/transform.js +1 -1
  65. package/dist/components/questions/types/word-fill-structured-form/wfsf-word-bank.utils.d.ts +24 -0
  66. package/dist/components/questions/types/word-fill-structured-form/wfsf-word-bank.utils.js +1 -0
  67. package/dist/components/questions/viewer/QuestionViewer.js +1 -1
  68. package/dist/components/results/renderers/review-question-body-dedicated.js +1 -1
  69. package/dist/components/results/review-data.js +1 -1
  70. package/dist/components/themes/english-certification/EcWordFillStructuredForm.js +1 -1
  71. package/dist/index.d.ts +1 -2
  72. package/dist/index.js +1 -1
  73. package/dist/mcp/config.d.ts +12 -0
  74. package/dist/mcp/config.js +1 -0
  75. package/dist/mcp/http-client.d.ts +6 -0
  76. package/dist/mcp/http-client.js +1 -0
  77. package/dist/mcp/index.d.ts +6 -0
  78. package/dist/mcp/index.js +2 -0
  79. package/dist/mcp/tools/_helpers.d.ts +4 -0
  80. package/dist/mcp/tools/_helpers.js +1 -0
  81. package/dist/mcp/tools/exams.d.ts +2 -0
  82. package/dist/mcp/tools/exams.js +1 -0
  83. package/dist/mcp/tools/index.d.ts +2 -0
  84. package/dist/mcp/tools/index.js +1 -0
  85. package/dist/mcp/tools/results.d.ts +2 -0
  86. package/dist/mcp/tools/results.js +1 -0
  87. package/dist/shared/constants/question-skills.js +1 -1
  88. package/dist/shared/lib/i18n/messages/en/admin.d.ts +4 -11
  89. package/dist/shared/lib/i18n/messages/en/admin.js +1 -1
  90. package/dist/shared/lib/i18n/messages/en.d.ts +4 -11
  91. package/dist/shared/lib/i18n/messages/vi/admin.d.ts +4 -11
  92. package/dist/shared/lib/i18n/messages/vi/admin.js +1 -1
  93. package/dist/shared/lib/i18n/messages/vi.d.ts +4 -11
  94. package/dist/shared/lib/utils/question-reverse-transform.js +1 -1
  95. package/dist/shared/lib/utils/question-transform.js +1 -1
  96. package/dist/shared/types/common.types.d.ts +1 -1
  97. package/dist/shared/types/questions/choose-the-correct-answer-group.d.ts +41 -0
  98. package/dist/shared/types/questions/choose-the-correct-answer-group.js +1 -0
  99. package/dist/shared/types/questions/cross-out-word-group.d.ts +41 -0
  100. package/dist/shared/types/questions/cross-out-word-group.js +1 -0
  101. package/dist/shared/types/questions/index.d.ts +2 -0
  102. package/dist/shared/types/questions/index.js +1 -1
  103. package/package.json +165 -163
  104. package/dist/components/exams/ExamPreviewPartContent.d.ts +0 -18
  105. package/dist/components/exams/ExamPreviewPartContent.js +0 -1
  106. package/dist/components/exams/ExamPreviewSidebar.d.ts +0 -17
  107. package/dist/components/exams/ExamPreviewSidebar.js +0 -1
  108. package/dist/components/exams/exam-preview.types.d.ts +0 -34
  109. package/dist/components/exams/exam-preview.types.js +0 -1
  110. package/dist/components/questions/_shared/utils/parseFillBlankStem.d.ts +0 -30
  111. package/dist/components/questions/_shared/utils/parseFillBlankStem.js +0 -1
  112. package/dist/components/questions/question-bank/EditQuestionBankDialog.d.ts +0 -2
  113. package/dist/components/questions/question-bank/EditQuestionBankDialog.js +0 -1
  114. package/dist/components/questions/question-bank/QuestionEditorRenderer.d.ts +0 -23
  115. package/dist/components/questions/question-bank/QuestionEditorRenderer.js +0 -1
  116. package/dist/components/questions/question-bank/difficulty.d.ts +0 -15
  117. package/dist/components/questions/question-bank/difficulty.js +0 -1
  118. package/dist/components/questions/question-bank/editor-adapters/choice-adapters.d.ts +0 -5
  119. package/dist/components/questions/question-bank/editor-adapters/choice-adapters.js +0 -1
  120. package/dist/components/questions/question-bank/editor-adapters/index.d.ts +0 -5
  121. package/dist/components/questions/question-bank/editor-adapters/index.js +0 -1
  122. package/dist/components/questions/question-bank/editor-adapters/media-adapters.d.ts +0 -6
  123. package/dist/components/questions/question-bank/editor-adapters/media-adapters.js +0 -1
  124. package/dist/components/questions/question-bank/editor-adapters/types.d.ts +0 -1
  125. package/dist/components/questions/question-bank/editor-adapters/unsupported-fallback.d.ts +0 -8
  126. package/dist/components/questions/question-bank/editor-adapters/unsupported-fallback.js +0 -1
  127. package/dist/components/questions/question-bank/editor-adapters/writing-adapters.d.ts +0 -5
  128. package/dist/components/questions/question-bank/editor-adapters/writing-adapters.js +0 -1
  129. package/dist/components/questions/question-bank/index.d.ts +0 -4
  130. package/dist/components/questions/question-bank/index.js +0 -1
  131. package/dist/components/questions/question-bank/types.d.ts +0 -59
  132. /package/dist/components/questions/{question-bank/editor-adapters/types.js → _shared/types/choose-the-correct-answer-group.type.js} +0 -0
  133. /package/dist/components/questions/{question-bank/types.js → _shared/types/cross-out-word-group.type.js} +0 -0
@@ -275,12 +275,6 @@ declare const en: {
275
275
  readonly 'admin.questionBank.dialog.edit.save': "Save changes";
276
276
  readonly 'admin.questionBank.dialog.edit.codeError': "Please enter question code";
277
277
  readonly 'admin.questionBank.dialog.edit.titleError': "Please enter title";
278
- readonly 'admin.questionBank.dialog.edit.loading': "Loading...";
279
- readonly 'admin.questionBank.dialog.edit.unsupportedNote': "Note:";
280
- readonly 'admin.questionBank.dialog.edit.unsupportedType': "Question type \"{type}\" is not editable in this UI. Please use the exam creator to edit this question.";
281
- readonly 'admin.questionBank.dialog.edit.contentLabel': "Question content";
282
- readonly 'admin.questionBank.dialog.edit.answerLabel': "Correct answer";
283
- readonly 'admin.questionBank.dialog.edit.explanationLabel': "Explanation";
284
278
  readonly 'admin.questionBank.dialog.delete.title': "Confirm Delete Question";
285
279
  readonly 'admin.questionBank.dialog.delete.message': "Are you sure you want to delete question";
286
280
  readonly 'admin.questionBank.dialog.delete.warning': "This action cannot be undone.";
@@ -1550,6 +1544,9 @@ declare const en: {
1550
1544
  readonly 'admin.exams.shuffle.info3': "Questions within the same Part are randomly shuffled";
1551
1545
  readonly 'admin.exams.shuffle.info4': "Variants are linked to the parent exam for management";
1552
1546
  readonly 'admin.exams.shuffle.countLabel': "Number of variants to create";
1547
+ readonly 'admin.exams.shuffle.strategyLabel': "Existing exam handling option";
1548
+ readonly 'admin.exams.shuffle.keepOld': "Keep existing exams and add new ones";
1549
+ readonly 'admin.exams.shuffle.replaceAll': "Create a completely new set";
1553
1550
  readonly 'admin.exams.shuffle.existingVariants': "Existing exams ({count})";
1554
1551
  readonly 'admin.exams.shuffle.deleteAll': "Delete all ({count})";
1555
1552
  readonly 'admin.exams.shuffle.loading': "Loading...";
@@ -1640,25 +1637,21 @@ declare const en: {
1640
1637
  readonly 'admin.exams.preview.totalPoints': "Total Points:";
1641
1638
  readonly 'admin.exams.preview.progress': "Progress";
1642
1639
  readonly 'admin.exams.preview.loading': "Loading...";
1643
- readonly 'admin.exams.preview.questionNavigation': "Part Navigation";
1640
+ readonly 'admin.exams.preview.questionNavigation': "Question Navigation";
1644
1641
  readonly 'admin.exams.preview.all': "All";
1645
1642
  readonly 'admin.exams.preview.allQuestions': "All {count} questions";
1646
1643
  readonly 'admin.exams.preview.partQuestions': "Part {part}: {count} questions";
1647
1644
  readonly 'admin.exams.preview.collapse': "Collapse";
1648
1645
  readonly 'admin.exams.preview.detail': "Details";
1649
1646
  readonly 'admin.exams.preview.questionIndex': "Question {index} / {total}";
1650
- readonly 'admin.exams.preview.partIndex': "Part {index} / {total}";
1651
1647
  readonly 'admin.exams.preview.noQuestions': "No questions yet";
1652
1648
  readonly 'admin.exams.preview.loadingQuestions': "Loading questions...";
1653
1649
  readonly 'admin.exams.preview.retry': "Retry";
1654
1650
  readonly 'admin.exams.preview.examNoQuestions': "This exam has no questions yet.";
1655
1651
  readonly 'admin.exams.preview.prevQuestion': "Previous Question";
1656
- readonly 'admin.exams.preview.prevPart': "Previous Part";
1657
1652
  readonly 'admin.exams.preview.prev': "Prev";
1658
1653
  readonly 'admin.exams.preview.nextQuestion': "Next Question";
1659
- readonly 'admin.exams.preview.nextPart': "Next Part";
1660
1654
  readonly 'admin.exams.preview.next': "Next";
1661
- readonly 'admin.exams.preview.questionLabel': "Question {number}";
1662
1655
  readonly 'admin.exams.preview.footerNote': "This is a preview mode to check the layout and content of the exam.";
1663
1656
  readonly 'admin.exams.preview.close': "Close";
1664
1657
  readonly 'admin.exams.preview.loadError': "Unable to load questions. Please try again.";
@@ -118,12 +118,6 @@ declare const admin: {
118
118
  readonly 'admin.questionBank.dialog.edit.save': "Lưu thay đổi";
119
119
  readonly 'admin.questionBank.dialog.edit.codeError': "Vui lòng nhập mã câu hỏi";
120
120
  readonly 'admin.questionBank.dialog.edit.titleError': "Vui lòng nhập tiêu đề";
121
- readonly 'admin.questionBank.dialog.edit.loading': "Đang tải...";
122
- readonly 'admin.questionBank.dialog.edit.unsupportedNote': "Lưu ý:";
123
- readonly 'admin.questionBank.dialog.edit.unsupportedType': "Loại câu hỏi \"{type}\" chưa hỗ trợ chỉnh sửa trực tiếp trong giao diện này. Vui lòng sử dụng trang tạo đề thi để chỉnh sửa câu hỏi này.";
124
- readonly 'admin.questionBank.dialog.edit.contentLabel': "Nội dung câu hỏi";
125
- readonly 'admin.questionBank.dialog.edit.answerLabel': "Đáp án đúng";
126
- readonly 'admin.questionBank.dialog.edit.explanationLabel': "Giải thích";
127
121
  readonly 'admin.questionBank.dialog.delete.title': "Xác nhận xóa câu hỏi";
128
122
  readonly 'admin.questionBank.dialog.delete.message': "Bạn có chắc chắn muốn xóa câu hỏi";
129
123
  readonly 'admin.questionBank.dialog.delete.warning': "Hành động này không thể hoàn tác.";
@@ -1393,6 +1387,9 @@ declare const admin: {
1393
1387
  readonly 'admin.exams.shuffle.info3': "Các câu hỏi trong cùng 1 Part được xáo trộn ngẫu nhiên";
1394
1388
  readonly 'admin.exams.shuffle.info4': "Các đề thi con được liên kết với đề thi cha để quản lý";
1395
1389
  readonly 'admin.exams.shuffle.countLabel': "Số lượng đề thi con muốn tạo";
1390
+ readonly 'admin.exams.shuffle.strategyLabel': "Lựa chọn xử lý đề thi cũ";
1391
+ readonly 'admin.exams.shuffle.keepOld': "Giữ lại các đề thi cũ và thêm đề mới";
1392
+ readonly 'admin.exams.shuffle.replaceAll': "Tạo bộ đề mới hoàn toàn";
1396
1393
  readonly 'admin.exams.shuffle.existingVariants': "Đề thi đã có ({count})";
1397
1394
  readonly 'admin.exams.shuffle.deleteAll': "Xóa tất cả ({count})";
1398
1395
  readonly 'admin.exams.shuffle.loading': "Đang tải...";
@@ -1483,25 +1480,21 @@ declare const admin: {
1483
1480
  readonly 'admin.exams.preview.totalPoints': "Tổng điểm:";
1484
1481
  readonly 'admin.exams.preview.progress': "Tiến độ";
1485
1482
  readonly 'admin.exams.preview.loading': "Đang tải...";
1486
- readonly 'admin.exams.preview.questionNavigation': "Điều hướng Part";
1483
+ readonly 'admin.exams.preview.questionNavigation': "Điều hướng câu hỏi";
1487
1484
  readonly 'admin.exams.preview.all': "Tất cả";
1488
1485
  readonly 'admin.exams.preview.allQuestions': "Tất cả {count} câu hỏi";
1489
1486
  readonly 'admin.exams.preview.partQuestions': "Part {part}: {count} câu";
1490
1487
  readonly 'admin.exams.preview.collapse': "Thu gọn";
1491
1488
  readonly 'admin.exams.preview.detail': "Chi tiết";
1492
1489
  readonly 'admin.exams.preview.questionIndex': "Câu hỏi {index} / {total}";
1493
- readonly 'admin.exams.preview.partIndex': "Part {index} / {total}";
1494
1490
  readonly 'admin.exams.preview.noQuestions': "Chưa có câu hỏi";
1495
1491
  readonly 'admin.exams.preview.loadingQuestions': "Đang tải câu hỏi...";
1496
1492
  readonly 'admin.exams.preview.retry': "Thử lại";
1497
1493
  readonly 'admin.exams.preview.examNoQuestions': "Đề thi này chưa có câu hỏi nào.";
1498
1494
  readonly 'admin.exams.preview.prevQuestion': "Câu trước";
1499
- readonly 'admin.exams.preview.prevPart': "Part trước";
1500
1495
  readonly 'admin.exams.preview.prev': "Trước";
1501
1496
  readonly 'admin.exams.preview.nextQuestion': "Câu tiếp theo";
1502
- readonly 'admin.exams.preview.nextPart': "Part tiếp theo";
1503
1497
  readonly 'admin.exams.preview.next': "Tiếp";
1504
- readonly 'admin.exams.preview.questionLabel': "Câu {number}";
1505
1498
  readonly 'admin.exams.preview.footerNote': "Đây là chế độ xem trước để kiểm tra bố cục và nội dung đề thi.";
1506
1499
  readonly 'admin.exams.preview.close': "Đóng";
1507
1500
  readonly 'admin.exams.preview.loadError': "Không thể tải câu hỏi. Vui lòng thử lại.";