@lssm/module.learning-journey 0.0.0-canary-20251217060834 → 0.0.0-canary-20251217062943

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 (147) hide show
  1. package/dist/contracts/models.d.ts +118 -118
  2. package/dist/contracts/models.js +1 -1
  3. package/dist/contracts/onboarding.d.ts +167 -167
  4. package/dist/contracts/onboarding.js +1 -1
  5. package/dist/contracts/operations.d.ts +70 -70
  6. package/dist/contracts/operations.js +1 -1
  7. package/dist/docs/learning-journey.docblock.js +1 -1
  8. package/dist/entities/ai.d.ts +200 -200
  9. package/dist/entities/ai.js +1 -1
  10. package/dist/entities/course.d.ts +150 -150
  11. package/dist/entities/course.js +1 -1
  12. package/dist/entities/flashcard.d.ts +145 -145
  13. package/dist/entities/flashcard.js +1 -1
  14. package/dist/entities/gamification.d.ts +198 -198
  15. package/dist/entities/gamification.js +1 -1
  16. package/dist/entities/index.d.ts +605 -605
  17. package/dist/entities/learner.d.ts +192 -192
  18. package/dist/entities/learner.js +1 -1
  19. package/dist/entities/onboarding.d.ts +165 -165
  20. package/dist/entities/onboarding.js +1 -1
  21. package/dist/entities/quiz.d.ts +185 -185
  22. package/dist/entities/quiz.js +1 -1
  23. package/dist/events.d.ts +213 -213
  24. package/dist/events.js +1 -1
  25. package/dist/index.d.ts +0 -1
  26. package/dist/libs/contracts/dist/capabilities/openbanking.js +1 -0
  27. package/dist/libs/contracts/dist/client/index.js +1 -0
  28. package/dist/libs/contracts/dist/client/react/feature-render.js +1 -0
  29. package/dist/libs/contracts/dist/client/react/form-render.js +1 -0
  30. package/dist/libs/contracts/dist/client/react/index.js +1 -0
  31. package/dist/libs/contracts/dist/contract-registry/index.js +1 -0
  32. package/dist/libs/contracts/dist/contract-registry/schemas.js +1 -0
  33. package/dist/libs/contracts/dist/docs/PUBLISHING.docblock.js +76 -0
  34. package/dist/libs/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +350 -0
  35. package/dist/libs/contracts/dist/docs/index.js +1 -0
  36. package/dist/libs/contracts/dist/docs/presentations.js +1 -0
  37. package/dist/libs/contracts/dist/docs/registry.js +1 -0
  38. package/dist/libs/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +383 -0
  39. package/dist/libs/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +68 -0
  40. package/dist/libs/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +140 -0
  41. package/dist/libs/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +86 -0
  42. package/dist/libs/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +1 -0
  43. package/dist/libs/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +58 -0
  44. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +38 -0
  45. package/dist/libs/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +213 -0
  46. package/dist/libs/contracts/dist/docs/tech/llm/llm-integration.docblock.js +289 -0
  47. package/dist/libs/contracts/dist/docs/tech/mcp-endpoints.docblock.js +1 -0
  48. package/dist/libs/contracts/dist/docs/tech/presentation-runtime.docblock.js +1 -0
  49. package/dist/libs/contracts/dist/docs/tech/schema/README.docblock.js +262 -0
  50. package/dist/libs/contracts/dist/docs/tech/studio/learning-events.docblock.js +1 -0
  51. package/dist/libs/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +57 -0
  52. package/dist/libs/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +63 -0
  53. package/dist/libs/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +36 -0
  54. package/dist/libs/contracts/dist/docs/tech/studio/project-routing.docblock.js +1 -0
  55. package/dist/libs/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +20 -0
  56. package/dist/libs/contracts/dist/docs/tech/studio/team-invitations.docblock.js +65 -0
  57. package/dist/libs/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +1 -0
  58. package/dist/libs/contracts/dist/docs/tech/studio/workspaces.docblock.js +41 -0
  59. package/dist/libs/contracts/dist/docs/tech/telemetry-ingest.docblock.js +122 -0
  60. package/dist/libs/contracts/dist/docs/tech/templates/runtime.docblock.js +1 -0
  61. package/dist/libs/contracts/dist/docs/tech/vscode-extension.docblock.js +68 -0
  62. package/dist/libs/contracts/dist/docs/tech/workflows/overview.docblock.js +1 -0
  63. package/dist/libs/contracts/dist/events.js +1 -0
  64. package/dist/libs/contracts/dist/experiments/evaluator.js +1 -0
  65. package/dist/libs/contracts/dist/index.js +1 -0
  66. package/dist/libs/contracts/dist/install.js +1 -0
  67. package/dist/libs/contracts/dist/integrations/contracts.js +1 -0
  68. package/dist/libs/contracts/dist/integrations/index.js +1 -0
  69. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +1 -0
  70. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +1 -0
  71. package/dist/libs/contracts/dist/integrations/openbanking/contracts/index.js +1 -0
  72. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +1 -0
  73. package/dist/libs/contracts/dist/integrations/openbanking/models.js +1 -0
  74. package/dist/libs/contracts/dist/integrations/openbanking/telemetry.js +1 -0
  75. package/dist/libs/contracts/dist/integrations/providers/elevenlabs.js +1 -0
  76. package/dist/libs/contracts/dist/integrations/providers/gcs-storage.js +1 -0
  77. package/dist/libs/contracts/dist/integrations/providers/gmail.js +1 -0
  78. package/dist/libs/contracts/dist/integrations/providers/google-calendar.js +1 -0
  79. package/dist/libs/contracts/dist/integrations/providers/index.js +1 -0
  80. package/dist/libs/contracts/dist/integrations/providers/mistral.js +1 -0
  81. package/dist/libs/contracts/dist/integrations/providers/postmark.js +1 -0
  82. package/dist/libs/contracts/dist/integrations/providers/powens.js +1 -0
  83. package/dist/libs/contracts/dist/integrations/providers/qdrant.js +1 -0
  84. package/dist/libs/contracts/dist/integrations/providers/registry.js +1 -0
  85. package/dist/libs/contracts/dist/integrations/providers/stripe.js +1 -0
  86. package/dist/libs/contracts/dist/integrations/providers/twilio-sms.js +1 -0
  87. package/dist/libs/contracts/dist/jsonschema.js +1 -0
  88. package/dist/libs/contracts/dist/knowledge/contracts.js +1 -0
  89. package/dist/libs/contracts/dist/knowledge/index.js +1 -0
  90. package/dist/libs/contracts/dist/knowledge/spaces/email-threads.js +1 -0
  91. package/dist/libs/contracts/dist/knowledge/spaces/financial-docs.js +1 -0
  92. package/dist/libs/contracts/dist/knowledge/spaces/financial-overview.js +1 -0
  93. package/dist/libs/contracts/dist/knowledge/spaces/index.js +1 -0
  94. package/dist/libs/contracts/dist/knowledge/spaces/product-canon.js +1 -0
  95. package/dist/libs/contracts/dist/knowledge/spaces/support-faq.js +1 -0
  96. package/dist/libs/contracts/dist/knowledge/spaces/uploaded-docs.js +1 -0
  97. package/dist/libs/contracts/dist/llm/exporters.js +1 -0
  98. package/dist/libs/contracts/dist/llm/index.js +1 -0
  99. package/dist/libs/contracts/dist/llm/prompts.js +1 -0
  100. package/dist/libs/contracts/dist/onboarding-base.js +1 -0
  101. package/dist/libs/contracts/dist/openapi.js +1 -0
  102. package/dist/libs/contracts/dist/ownership.js +1 -0
  103. package/dist/libs/contracts/dist/presentations.js +1 -0
  104. package/dist/libs/contracts/dist/presentations.v2.js +1 -0
  105. package/dist/libs/contracts/dist/prompt.js +1 -0
  106. package/dist/libs/contracts/dist/promptRegistry.js +1 -0
  107. package/dist/libs/contracts/dist/regenerator/index.js +1 -0
  108. package/dist/libs/contracts/dist/regenerator/service.js +1 -0
  109. package/dist/libs/contracts/dist/registry.js +1 -0
  110. package/dist/libs/contracts/dist/resources.js +1 -0
  111. package/dist/libs/contracts/dist/schema/dist/EnumType.js +1 -0
  112. package/dist/libs/contracts/dist/schema/dist/FieldType.js +1 -0
  113. package/dist/libs/contracts/dist/schema/dist/ScalarTypeEnum.js +1 -0
  114. package/dist/libs/contracts/dist/schema/dist/SchemaModel.js +1 -0
  115. package/dist/libs/contracts/dist/schema/dist/entity/defineEntity.js +1 -0
  116. package/dist/libs/contracts/dist/schema/dist/entity/index.js +1 -0
  117. package/dist/libs/contracts/dist/schema/dist/entity/types.js +1 -0
  118. package/dist/libs/contracts/dist/schema/dist/index.js +1 -0
  119. package/dist/libs/contracts/dist/server/graphql-pothos.js +1 -0
  120. package/dist/libs/contracts/dist/server/index.js +1 -0
  121. package/dist/libs/contracts/dist/server/mcp/createMcpServer.js +1 -0
  122. package/dist/libs/contracts/dist/server/mcp/registerPresentations.js +1 -0
  123. package/dist/libs/contracts/dist/server/mcp/registerPrompts.js +1 -0
  124. package/dist/libs/contracts/dist/server/mcp/registerResources.js +1 -0
  125. package/dist/libs/contracts/dist/server/mcp/registerTools.js +1 -0
  126. package/dist/libs/contracts/dist/server/provider-mcp.js +1 -0
  127. package/dist/libs/contracts/dist/server/rest-elysia.js +1 -0
  128. package/dist/libs/contracts/dist/server/rest-express.js +1 -0
  129. package/dist/libs/contracts/dist/server/rest-generic.js +1 -0
  130. package/dist/libs/contracts/dist/server/rest-next-app.js +1 -0
  131. package/dist/libs/contracts/dist/server/rest-next-pages.js +1 -0
  132. package/dist/libs/contracts/dist/spec.js +1 -0
  133. package/dist/libs/contracts/dist/telemetry/index.js +1 -0
  134. package/dist/libs/contracts/dist/telemetry/tracker.js +1 -0
  135. package/dist/libs/contracts/dist/tests/index.js +1 -0
  136. package/dist/libs/contracts/dist/tests/runner.js +1 -0
  137. package/dist/libs/contracts/dist/workflow/index.js +1 -0
  138. package/dist/libs/contracts/dist/workflow/runner.js +1 -0
  139. package/dist/libs/schema/dist/EnumType.js +1 -0
  140. package/dist/libs/schema/dist/FieldType.js +1 -0
  141. package/dist/libs/schema/dist/ScalarTypeEnum.js +1 -0
  142. package/dist/libs/schema/dist/SchemaModel.js +1 -0
  143. package/dist/libs/schema/dist/entity/defineEntity.js +1 -0
  144. package/dist/libs/schema/dist/entity/index.js +1 -0
  145. package/dist/libs/schema/dist/entity/types.js +1 -0
  146. package/dist/libs/schema/dist/index.js +1 -0
  147. package/package.json +5 -5
@@ -1,219 +1,219 @@
1
- import * as _lssm_lib_schema0 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema2142 from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/entities/quiz.d.ts
4
4
  /**
5
5
  * Question type enum.
6
6
  */
7
- declare const QuestionTypeEnum: _lssm_lib_schema0.EntityEnumDef;
7
+ declare const QuestionTypeEnum: _lssm_lib_schema2142.EntityEnumDef;
8
8
  /**
9
9
  * Quiz status enum.
10
10
  */
11
- declare const QuizStatusEnum: _lssm_lib_schema0.EntityEnumDef;
11
+ declare const QuizStatusEnum: _lssm_lib_schema2142.EntityEnumDef;
12
12
  /**
13
13
  * Attempt status enum.
14
14
  */
15
- declare const AttemptStatusEnum: _lssm_lib_schema0.EntityEnumDef;
15
+ declare const AttemptStatusEnum: _lssm_lib_schema2142.EntityEnumDef;
16
16
  /**
17
17
  * Quiz entity - assessment for a lesson.
18
18
  */
19
- declare const QuizEntity: _lssm_lib_schema0.EntitySpec<{
20
- id: _lssm_lib_schema0.EntityScalarField;
21
- lessonId: _lssm_lib_schema0.EntityScalarField;
22
- title: _lssm_lib_schema0.EntityScalarField;
23
- description: _lssm_lib_schema0.EntityScalarField;
24
- instructions: _lssm_lib_schema0.EntityScalarField;
25
- passingScore: _lssm_lib_schema0.EntityScalarField;
26
- timeLimit: _lssm_lib_schema0.EntityScalarField;
27
- maxAttempts: _lssm_lib_schema0.EntityScalarField;
28
- shuffleQuestions: _lssm_lib_schema0.EntityScalarField;
29
- shuffleOptions: _lssm_lib_schema0.EntityScalarField;
30
- showCorrectAnswers: _lssm_lib_schema0.EntityScalarField;
31
- showExplanations: _lssm_lib_schema0.EntityScalarField;
32
- status: _lssm_lib_schema0.EntityEnumField;
33
- totalPoints: _lssm_lib_schema0.EntityScalarField;
34
- xpReward: _lssm_lib_schema0.EntityScalarField;
35
- orgId: _lssm_lib_schema0.EntityScalarField;
36
- metadata: _lssm_lib_schema0.EntityScalarField;
37
- createdAt: _lssm_lib_schema0.EntityScalarField;
38
- updatedAt: _lssm_lib_schema0.EntityScalarField;
39
- lesson: _lssm_lib_schema0.EntityRelationField;
40
- questions: _lssm_lib_schema0.EntityRelationField;
41
- attempts: _lssm_lib_schema0.EntityRelationField;
19
+ declare const QuizEntity: _lssm_lib_schema2142.EntitySpec<{
20
+ id: _lssm_lib_schema2142.EntityScalarField;
21
+ lessonId: _lssm_lib_schema2142.EntityScalarField;
22
+ title: _lssm_lib_schema2142.EntityScalarField;
23
+ description: _lssm_lib_schema2142.EntityScalarField;
24
+ instructions: _lssm_lib_schema2142.EntityScalarField;
25
+ passingScore: _lssm_lib_schema2142.EntityScalarField;
26
+ timeLimit: _lssm_lib_schema2142.EntityScalarField;
27
+ maxAttempts: _lssm_lib_schema2142.EntityScalarField;
28
+ shuffleQuestions: _lssm_lib_schema2142.EntityScalarField;
29
+ shuffleOptions: _lssm_lib_schema2142.EntityScalarField;
30
+ showCorrectAnswers: _lssm_lib_schema2142.EntityScalarField;
31
+ showExplanations: _lssm_lib_schema2142.EntityScalarField;
32
+ status: _lssm_lib_schema2142.EntityEnumField;
33
+ totalPoints: _lssm_lib_schema2142.EntityScalarField;
34
+ xpReward: _lssm_lib_schema2142.EntityScalarField;
35
+ orgId: _lssm_lib_schema2142.EntityScalarField;
36
+ metadata: _lssm_lib_schema2142.EntityScalarField;
37
+ createdAt: _lssm_lib_schema2142.EntityScalarField;
38
+ updatedAt: _lssm_lib_schema2142.EntityScalarField;
39
+ lesson: _lssm_lib_schema2142.EntityRelationField;
40
+ questions: _lssm_lib_schema2142.EntityRelationField;
41
+ attempts: _lssm_lib_schema2142.EntityRelationField;
42
42
  }>;
43
43
  /**
44
44
  * Question entity - individual quiz question.
45
45
  */
46
- declare const QuestionEntity: _lssm_lib_schema0.EntitySpec<{
47
- id: _lssm_lib_schema0.EntityScalarField;
48
- quizId: _lssm_lib_schema0.EntityScalarField;
49
- type: _lssm_lib_schema0.EntityEnumField;
50
- content: _lssm_lib_schema0.EntityScalarField;
51
- mediaUrl: _lssm_lib_schema0.EntityScalarField;
52
- points: _lssm_lib_schema0.EntityScalarField;
53
- codeLanguage: _lssm_lib_schema0.EntityScalarField;
54
- codeTemplate: _lssm_lib_schema0.EntityScalarField;
55
- testCases: _lssm_lib_schema0.EntityScalarField;
56
- explanation: _lssm_lib_schema0.EntityScalarField;
57
- hint: _lssm_lib_schema0.EntityScalarField;
58
- order: _lssm_lib_schema0.EntityScalarField;
59
- skillId: _lssm_lib_schema0.EntityScalarField;
60
- metadata: _lssm_lib_schema0.EntityScalarField;
61
- createdAt: _lssm_lib_schema0.EntityScalarField;
62
- updatedAt: _lssm_lib_schema0.EntityScalarField;
63
- quiz: _lssm_lib_schema0.EntityRelationField;
64
- options: _lssm_lib_schema0.EntityRelationField;
46
+ declare const QuestionEntity: _lssm_lib_schema2142.EntitySpec<{
47
+ id: _lssm_lib_schema2142.EntityScalarField;
48
+ quizId: _lssm_lib_schema2142.EntityScalarField;
49
+ type: _lssm_lib_schema2142.EntityEnumField;
50
+ content: _lssm_lib_schema2142.EntityScalarField;
51
+ mediaUrl: _lssm_lib_schema2142.EntityScalarField;
52
+ points: _lssm_lib_schema2142.EntityScalarField;
53
+ codeLanguage: _lssm_lib_schema2142.EntityScalarField;
54
+ codeTemplate: _lssm_lib_schema2142.EntityScalarField;
55
+ testCases: _lssm_lib_schema2142.EntityScalarField;
56
+ explanation: _lssm_lib_schema2142.EntityScalarField;
57
+ hint: _lssm_lib_schema2142.EntityScalarField;
58
+ order: _lssm_lib_schema2142.EntityScalarField;
59
+ skillId: _lssm_lib_schema2142.EntityScalarField;
60
+ metadata: _lssm_lib_schema2142.EntityScalarField;
61
+ createdAt: _lssm_lib_schema2142.EntityScalarField;
62
+ updatedAt: _lssm_lib_schema2142.EntityScalarField;
63
+ quiz: _lssm_lib_schema2142.EntityRelationField;
64
+ options: _lssm_lib_schema2142.EntityRelationField;
65
65
  }>;
66
66
  /**
67
67
  * QuestionOption entity - answer option for a question.
68
68
  */
69
- declare const QuestionOptionEntity: _lssm_lib_schema0.EntitySpec<{
70
- id: _lssm_lib_schema0.EntityScalarField;
71
- questionId: _lssm_lib_schema0.EntityScalarField;
72
- content: _lssm_lib_schema0.EntityScalarField;
73
- matchContent: _lssm_lib_schema0.EntityScalarField;
74
- isCorrect: _lssm_lib_schema0.EntityScalarField;
75
- feedback: _lssm_lib_schema0.EntityScalarField;
76
- order: _lssm_lib_schema0.EntityScalarField;
77
- metadata: _lssm_lib_schema0.EntityScalarField;
78
- createdAt: _lssm_lib_schema0.EntityScalarField;
79
- updatedAt: _lssm_lib_schema0.EntityScalarField;
80
- question: _lssm_lib_schema0.EntityRelationField;
69
+ declare const QuestionOptionEntity: _lssm_lib_schema2142.EntitySpec<{
70
+ id: _lssm_lib_schema2142.EntityScalarField;
71
+ questionId: _lssm_lib_schema2142.EntityScalarField;
72
+ content: _lssm_lib_schema2142.EntityScalarField;
73
+ matchContent: _lssm_lib_schema2142.EntityScalarField;
74
+ isCorrect: _lssm_lib_schema2142.EntityScalarField;
75
+ feedback: _lssm_lib_schema2142.EntityScalarField;
76
+ order: _lssm_lib_schema2142.EntityScalarField;
77
+ metadata: _lssm_lib_schema2142.EntityScalarField;
78
+ createdAt: _lssm_lib_schema2142.EntityScalarField;
79
+ updatedAt: _lssm_lib_schema2142.EntityScalarField;
80
+ question: _lssm_lib_schema2142.EntityRelationField;
81
81
  }>;
82
82
  /**
83
83
  * QuizAttempt entity - a learner's quiz attempt.
84
84
  */
85
- declare const QuizAttemptEntity: _lssm_lib_schema0.EntitySpec<{
86
- id: _lssm_lib_schema0.EntityScalarField;
87
- learnerId: _lssm_lib_schema0.EntityScalarField;
88
- quizId: _lssm_lib_schema0.EntityScalarField;
89
- status: _lssm_lib_schema0.EntityEnumField;
90
- score: _lssm_lib_schema0.EntityScalarField;
91
- percentageScore: _lssm_lib_schema0.EntityScalarField;
92
- passed: _lssm_lib_schema0.EntityScalarField;
93
- totalQuestions: _lssm_lib_schema0.EntityScalarField;
94
- answeredQuestions: _lssm_lib_schema0.EntityScalarField;
95
- correctAnswers: _lssm_lib_schema0.EntityScalarField;
96
- answers: _lssm_lib_schema0.EntityScalarField;
97
- xpEarned: _lssm_lib_schema0.EntityScalarField;
98
- timeSpent: _lssm_lib_schema0.EntityScalarField;
99
- startedAt: _lssm_lib_schema0.EntityScalarField;
100
- completedAt: _lssm_lib_schema0.EntityScalarField;
101
- attemptNumber: _lssm_lib_schema0.EntityScalarField;
102
- metadata: _lssm_lib_schema0.EntityScalarField;
103
- createdAt: _lssm_lib_schema0.EntityScalarField;
104
- updatedAt: _lssm_lib_schema0.EntityScalarField;
105
- learner: _lssm_lib_schema0.EntityRelationField;
106
- quiz: _lssm_lib_schema0.EntityRelationField;
85
+ declare const QuizAttemptEntity: _lssm_lib_schema2142.EntitySpec<{
86
+ id: _lssm_lib_schema2142.EntityScalarField;
87
+ learnerId: _lssm_lib_schema2142.EntityScalarField;
88
+ quizId: _lssm_lib_schema2142.EntityScalarField;
89
+ status: _lssm_lib_schema2142.EntityEnumField;
90
+ score: _lssm_lib_schema2142.EntityScalarField;
91
+ percentageScore: _lssm_lib_schema2142.EntityScalarField;
92
+ passed: _lssm_lib_schema2142.EntityScalarField;
93
+ totalQuestions: _lssm_lib_schema2142.EntityScalarField;
94
+ answeredQuestions: _lssm_lib_schema2142.EntityScalarField;
95
+ correctAnswers: _lssm_lib_schema2142.EntityScalarField;
96
+ answers: _lssm_lib_schema2142.EntityScalarField;
97
+ xpEarned: _lssm_lib_schema2142.EntityScalarField;
98
+ timeSpent: _lssm_lib_schema2142.EntityScalarField;
99
+ startedAt: _lssm_lib_schema2142.EntityScalarField;
100
+ completedAt: _lssm_lib_schema2142.EntityScalarField;
101
+ attemptNumber: _lssm_lib_schema2142.EntityScalarField;
102
+ metadata: _lssm_lib_schema2142.EntityScalarField;
103
+ createdAt: _lssm_lib_schema2142.EntityScalarField;
104
+ updatedAt: _lssm_lib_schema2142.EntityScalarField;
105
+ learner: _lssm_lib_schema2142.EntityRelationField;
106
+ quiz: _lssm_lib_schema2142.EntityRelationField;
107
107
  }>;
108
108
  /**
109
109
  * SkillAssessment entity - maps quiz performance to skills.
110
110
  */
111
- declare const SkillAssessmentEntity: _lssm_lib_schema0.EntitySpec<{
112
- id: _lssm_lib_schema0.EntityScalarField;
113
- learnerId: _lssm_lib_schema0.EntityScalarField;
114
- skillId: _lssm_lib_schema0.EntityScalarField;
115
- skillName: _lssm_lib_schema0.EntityScalarField;
116
- level: _lssm_lib_schema0.EntityScalarField;
117
- score: _lssm_lib_schema0.EntityScalarField;
118
- confidence: _lssm_lib_schema0.EntityScalarField;
119
- questionsAnswered: _lssm_lib_schema0.EntityScalarField;
120
- questionsCorrect: _lssm_lib_schema0.EntityScalarField;
121
- assessedAt: _lssm_lib_schema0.EntityScalarField;
122
- createdAt: _lssm_lib_schema0.EntityScalarField;
123
- updatedAt: _lssm_lib_schema0.EntityScalarField;
124
- learner: _lssm_lib_schema0.EntityRelationField;
111
+ declare const SkillAssessmentEntity: _lssm_lib_schema2142.EntitySpec<{
112
+ id: _lssm_lib_schema2142.EntityScalarField;
113
+ learnerId: _lssm_lib_schema2142.EntityScalarField;
114
+ skillId: _lssm_lib_schema2142.EntityScalarField;
115
+ skillName: _lssm_lib_schema2142.EntityScalarField;
116
+ level: _lssm_lib_schema2142.EntityScalarField;
117
+ score: _lssm_lib_schema2142.EntityScalarField;
118
+ confidence: _lssm_lib_schema2142.EntityScalarField;
119
+ questionsAnswered: _lssm_lib_schema2142.EntityScalarField;
120
+ questionsCorrect: _lssm_lib_schema2142.EntityScalarField;
121
+ assessedAt: _lssm_lib_schema2142.EntityScalarField;
122
+ createdAt: _lssm_lib_schema2142.EntityScalarField;
123
+ updatedAt: _lssm_lib_schema2142.EntityScalarField;
124
+ learner: _lssm_lib_schema2142.EntityRelationField;
125
125
  }>;
126
- declare const quizEntities: (_lssm_lib_schema0.EntitySpec<{
127
- id: _lssm_lib_schema0.EntityScalarField;
128
- lessonId: _lssm_lib_schema0.EntityScalarField;
129
- title: _lssm_lib_schema0.EntityScalarField;
130
- description: _lssm_lib_schema0.EntityScalarField;
131
- instructions: _lssm_lib_schema0.EntityScalarField;
132
- passingScore: _lssm_lib_schema0.EntityScalarField;
133
- timeLimit: _lssm_lib_schema0.EntityScalarField;
134
- maxAttempts: _lssm_lib_schema0.EntityScalarField;
135
- shuffleQuestions: _lssm_lib_schema0.EntityScalarField;
136
- shuffleOptions: _lssm_lib_schema0.EntityScalarField;
137
- showCorrectAnswers: _lssm_lib_schema0.EntityScalarField;
138
- showExplanations: _lssm_lib_schema0.EntityScalarField;
139
- status: _lssm_lib_schema0.EntityEnumField;
140
- totalPoints: _lssm_lib_schema0.EntityScalarField;
141
- xpReward: _lssm_lib_schema0.EntityScalarField;
142
- orgId: _lssm_lib_schema0.EntityScalarField;
143
- metadata: _lssm_lib_schema0.EntityScalarField;
144
- createdAt: _lssm_lib_schema0.EntityScalarField;
145
- updatedAt: _lssm_lib_schema0.EntityScalarField;
146
- lesson: _lssm_lib_schema0.EntityRelationField;
147
- questions: _lssm_lib_schema0.EntityRelationField;
148
- attempts: _lssm_lib_schema0.EntityRelationField;
149
- }> | _lssm_lib_schema0.EntitySpec<{
150
- id: _lssm_lib_schema0.EntityScalarField;
151
- quizId: _lssm_lib_schema0.EntityScalarField;
152
- type: _lssm_lib_schema0.EntityEnumField;
153
- content: _lssm_lib_schema0.EntityScalarField;
154
- mediaUrl: _lssm_lib_schema0.EntityScalarField;
155
- points: _lssm_lib_schema0.EntityScalarField;
156
- codeLanguage: _lssm_lib_schema0.EntityScalarField;
157
- codeTemplate: _lssm_lib_schema0.EntityScalarField;
158
- testCases: _lssm_lib_schema0.EntityScalarField;
159
- explanation: _lssm_lib_schema0.EntityScalarField;
160
- hint: _lssm_lib_schema0.EntityScalarField;
161
- order: _lssm_lib_schema0.EntityScalarField;
162
- skillId: _lssm_lib_schema0.EntityScalarField;
163
- metadata: _lssm_lib_schema0.EntityScalarField;
164
- createdAt: _lssm_lib_schema0.EntityScalarField;
165
- updatedAt: _lssm_lib_schema0.EntityScalarField;
166
- quiz: _lssm_lib_schema0.EntityRelationField;
167
- options: _lssm_lib_schema0.EntityRelationField;
168
- }> | _lssm_lib_schema0.EntitySpec<{
169
- id: _lssm_lib_schema0.EntityScalarField;
170
- questionId: _lssm_lib_schema0.EntityScalarField;
171
- content: _lssm_lib_schema0.EntityScalarField;
172
- matchContent: _lssm_lib_schema0.EntityScalarField;
173
- isCorrect: _lssm_lib_schema0.EntityScalarField;
174
- feedback: _lssm_lib_schema0.EntityScalarField;
175
- order: _lssm_lib_schema0.EntityScalarField;
176
- metadata: _lssm_lib_schema0.EntityScalarField;
177
- createdAt: _lssm_lib_schema0.EntityScalarField;
178
- updatedAt: _lssm_lib_schema0.EntityScalarField;
179
- question: _lssm_lib_schema0.EntityRelationField;
180
- }> | _lssm_lib_schema0.EntitySpec<{
181
- id: _lssm_lib_schema0.EntityScalarField;
182
- learnerId: _lssm_lib_schema0.EntityScalarField;
183
- quizId: _lssm_lib_schema0.EntityScalarField;
184
- status: _lssm_lib_schema0.EntityEnumField;
185
- score: _lssm_lib_schema0.EntityScalarField;
186
- percentageScore: _lssm_lib_schema0.EntityScalarField;
187
- passed: _lssm_lib_schema0.EntityScalarField;
188
- totalQuestions: _lssm_lib_schema0.EntityScalarField;
189
- answeredQuestions: _lssm_lib_schema0.EntityScalarField;
190
- correctAnswers: _lssm_lib_schema0.EntityScalarField;
191
- answers: _lssm_lib_schema0.EntityScalarField;
192
- xpEarned: _lssm_lib_schema0.EntityScalarField;
193
- timeSpent: _lssm_lib_schema0.EntityScalarField;
194
- startedAt: _lssm_lib_schema0.EntityScalarField;
195
- completedAt: _lssm_lib_schema0.EntityScalarField;
196
- attemptNumber: _lssm_lib_schema0.EntityScalarField;
197
- metadata: _lssm_lib_schema0.EntityScalarField;
198
- createdAt: _lssm_lib_schema0.EntityScalarField;
199
- updatedAt: _lssm_lib_schema0.EntityScalarField;
200
- learner: _lssm_lib_schema0.EntityRelationField;
201
- quiz: _lssm_lib_schema0.EntityRelationField;
202
- }> | _lssm_lib_schema0.EntitySpec<{
203
- id: _lssm_lib_schema0.EntityScalarField;
204
- learnerId: _lssm_lib_schema0.EntityScalarField;
205
- skillId: _lssm_lib_schema0.EntityScalarField;
206
- skillName: _lssm_lib_schema0.EntityScalarField;
207
- level: _lssm_lib_schema0.EntityScalarField;
208
- score: _lssm_lib_schema0.EntityScalarField;
209
- confidence: _lssm_lib_schema0.EntityScalarField;
210
- questionsAnswered: _lssm_lib_schema0.EntityScalarField;
211
- questionsCorrect: _lssm_lib_schema0.EntityScalarField;
212
- assessedAt: _lssm_lib_schema0.EntityScalarField;
213
- createdAt: _lssm_lib_schema0.EntityScalarField;
214
- updatedAt: _lssm_lib_schema0.EntityScalarField;
215
- learner: _lssm_lib_schema0.EntityRelationField;
126
+ declare const quizEntities: (_lssm_lib_schema2142.EntitySpec<{
127
+ id: _lssm_lib_schema2142.EntityScalarField;
128
+ lessonId: _lssm_lib_schema2142.EntityScalarField;
129
+ title: _lssm_lib_schema2142.EntityScalarField;
130
+ description: _lssm_lib_schema2142.EntityScalarField;
131
+ instructions: _lssm_lib_schema2142.EntityScalarField;
132
+ passingScore: _lssm_lib_schema2142.EntityScalarField;
133
+ timeLimit: _lssm_lib_schema2142.EntityScalarField;
134
+ maxAttempts: _lssm_lib_schema2142.EntityScalarField;
135
+ shuffleQuestions: _lssm_lib_schema2142.EntityScalarField;
136
+ shuffleOptions: _lssm_lib_schema2142.EntityScalarField;
137
+ showCorrectAnswers: _lssm_lib_schema2142.EntityScalarField;
138
+ showExplanations: _lssm_lib_schema2142.EntityScalarField;
139
+ status: _lssm_lib_schema2142.EntityEnumField;
140
+ totalPoints: _lssm_lib_schema2142.EntityScalarField;
141
+ xpReward: _lssm_lib_schema2142.EntityScalarField;
142
+ orgId: _lssm_lib_schema2142.EntityScalarField;
143
+ metadata: _lssm_lib_schema2142.EntityScalarField;
144
+ createdAt: _lssm_lib_schema2142.EntityScalarField;
145
+ updatedAt: _lssm_lib_schema2142.EntityScalarField;
146
+ lesson: _lssm_lib_schema2142.EntityRelationField;
147
+ questions: _lssm_lib_schema2142.EntityRelationField;
148
+ attempts: _lssm_lib_schema2142.EntityRelationField;
149
+ }> | _lssm_lib_schema2142.EntitySpec<{
150
+ id: _lssm_lib_schema2142.EntityScalarField;
151
+ quizId: _lssm_lib_schema2142.EntityScalarField;
152
+ type: _lssm_lib_schema2142.EntityEnumField;
153
+ content: _lssm_lib_schema2142.EntityScalarField;
154
+ mediaUrl: _lssm_lib_schema2142.EntityScalarField;
155
+ points: _lssm_lib_schema2142.EntityScalarField;
156
+ codeLanguage: _lssm_lib_schema2142.EntityScalarField;
157
+ codeTemplate: _lssm_lib_schema2142.EntityScalarField;
158
+ testCases: _lssm_lib_schema2142.EntityScalarField;
159
+ explanation: _lssm_lib_schema2142.EntityScalarField;
160
+ hint: _lssm_lib_schema2142.EntityScalarField;
161
+ order: _lssm_lib_schema2142.EntityScalarField;
162
+ skillId: _lssm_lib_schema2142.EntityScalarField;
163
+ metadata: _lssm_lib_schema2142.EntityScalarField;
164
+ createdAt: _lssm_lib_schema2142.EntityScalarField;
165
+ updatedAt: _lssm_lib_schema2142.EntityScalarField;
166
+ quiz: _lssm_lib_schema2142.EntityRelationField;
167
+ options: _lssm_lib_schema2142.EntityRelationField;
168
+ }> | _lssm_lib_schema2142.EntitySpec<{
169
+ id: _lssm_lib_schema2142.EntityScalarField;
170
+ questionId: _lssm_lib_schema2142.EntityScalarField;
171
+ content: _lssm_lib_schema2142.EntityScalarField;
172
+ matchContent: _lssm_lib_schema2142.EntityScalarField;
173
+ isCorrect: _lssm_lib_schema2142.EntityScalarField;
174
+ feedback: _lssm_lib_schema2142.EntityScalarField;
175
+ order: _lssm_lib_schema2142.EntityScalarField;
176
+ metadata: _lssm_lib_schema2142.EntityScalarField;
177
+ createdAt: _lssm_lib_schema2142.EntityScalarField;
178
+ updatedAt: _lssm_lib_schema2142.EntityScalarField;
179
+ question: _lssm_lib_schema2142.EntityRelationField;
180
+ }> | _lssm_lib_schema2142.EntitySpec<{
181
+ id: _lssm_lib_schema2142.EntityScalarField;
182
+ learnerId: _lssm_lib_schema2142.EntityScalarField;
183
+ quizId: _lssm_lib_schema2142.EntityScalarField;
184
+ status: _lssm_lib_schema2142.EntityEnumField;
185
+ score: _lssm_lib_schema2142.EntityScalarField;
186
+ percentageScore: _lssm_lib_schema2142.EntityScalarField;
187
+ passed: _lssm_lib_schema2142.EntityScalarField;
188
+ totalQuestions: _lssm_lib_schema2142.EntityScalarField;
189
+ answeredQuestions: _lssm_lib_schema2142.EntityScalarField;
190
+ correctAnswers: _lssm_lib_schema2142.EntityScalarField;
191
+ answers: _lssm_lib_schema2142.EntityScalarField;
192
+ xpEarned: _lssm_lib_schema2142.EntityScalarField;
193
+ timeSpent: _lssm_lib_schema2142.EntityScalarField;
194
+ startedAt: _lssm_lib_schema2142.EntityScalarField;
195
+ completedAt: _lssm_lib_schema2142.EntityScalarField;
196
+ attemptNumber: _lssm_lib_schema2142.EntityScalarField;
197
+ metadata: _lssm_lib_schema2142.EntityScalarField;
198
+ createdAt: _lssm_lib_schema2142.EntityScalarField;
199
+ updatedAt: _lssm_lib_schema2142.EntityScalarField;
200
+ learner: _lssm_lib_schema2142.EntityRelationField;
201
+ quiz: _lssm_lib_schema2142.EntityRelationField;
202
+ }> | _lssm_lib_schema2142.EntitySpec<{
203
+ id: _lssm_lib_schema2142.EntityScalarField;
204
+ learnerId: _lssm_lib_schema2142.EntityScalarField;
205
+ skillId: _lssm_lib_schema2142.EntityScalarField;
206
+ skillName: _lssm_lib_schema2142.EntityScalarField;
207
+ level: _lssm_lib_schema2142.EntityScalarField;
208
+ score: _lssm_lib_schema2142.EntityScalarField;
209
+ confidence: _lssm_lib_schema2142.EntityScalarField;
210
+ questionsAnswered: _lssm_lib_schema2142.EntityScalarField;
211
+ questionsCorrect: _lssm_lib_schema2142.EntityScalarField;
212
+ assessedAt: _lssm_lib_schema2142.EntityScalarField;
213
+ createdAt: _lssm_lib_schema2142.EntityScalarField;
214
+ updatedAt: _lssm_lib_schema2142.EntityScalarField;
215
+ learner: _lssm_lib_schema2142.EntityRelationField;
216
216
  }>)[];
217
- declare const quizEnums: _lssm_lib_schema0.EntityEnumDef[];
217
+ declare const quizEnums: _lssm_lib_schema2142.EntityEnumDef[];
218
218
  //#endregion
219
219
  export { AttemptStatusEnum, QuestionEntity, QuestionOptionEntity, QuestionTypeEnum, QuizAttemptEntity, QuizEntity, QuizStatusEnum, SkillAssessmentEntity, quizEntities, quizEnums };
@@ -1 +1 @@
1
- import{defineEntity as e,defineEntityEnum as t,field as n,index as r}from"@lssm/lib.schema";const i=t({name:`QuestionType`,values:[`MULTIPLE_CHOICE`,`TRUE_FALSE`,`FILL_BLANK`,`MATCHING`,`SHORT_ANSWER`,`CODE`],schema:`lssm_learning`,description:`Type of quiz question.`}),a=t({name:`QuizStatus`,values:[`DRAFT`,`PUBLISHED`,`ARCHIVED`],schema:`lssm_learning`,description:`Publication status of a quiz.`}),o=t({name:`AttemptStatus`,values:[`IN_PROGRESS`,`COMPLETED`,`TIMED_OUT`,`ABANDONED`],schema:`lssm_learning`,description:`Status of a quiz attempt.`}),s=e({name:`Quiz`,description:`A quiz assessment.`,schema:`lssm_learning`,map:`quiz`,fields:{id:n.id({description:`Unique quiz identifier`}),lessonId:n.foreignKey({isOptional:!0,description:`Associated lesson`}),title:n.string({description:`Quiz title`}),description:n.string({isOptional:!0,description:`Quiz description`}),instructions:n.string({isOptional:!0,description:`Quiz instructions`}),passingScore:n.int({default:70,description:`Passing score percentage`}),timeLimit:n.int({isOptional:!0,description:`Time limit in seconds`}),maxAttempts:n.int({isOptional:!0,description:`Maximum attempts allowed`}),shuffleQuestions:n.boolean({default:!1,description:`Shuffle question order`}),shuffleOptions:n.boolean({default:!1,description:`Shuffle answer options`}),showCorrectAnswers:n.boolean({default:!0,description:`Show correct answers after`}),showExplanations:n.boolean({default:!0,description:`Show explanations after`}),status:n.enum(`QuizStatus`,{default:`DRAFT`,description:`Publication status`}),totalPoints:n.int({default:0,description:`Total points available`}),xpReward:n.int({default:20,description:`XP for passing`}),orgId:n.string({isOptional:!0,description:`Organization scope`}),metadata:n.json({isOptional:!0,description:`Additional metadata`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),lesson:n.belongsTo(`Lesson`,[`lessonId`],[`id`],{onDelete:`Cascade`}),questions:n.hasMany(`Question`),attempts:n.hasMany(`QuizAttempt`)},indexes:[r.on([`lessonId`]),r.on([`status`]),r.on([`orgId`])],enums:[a]}),c=e({name:`Question`,description:`A quiz question.`,schema:`lssm_learning`,map:`question`,fields:{id:n.id({description:`Unique question identifier`}),quizId:n.foreignKey({description:`Parent quiz`}),type:n.enum(`QuestionType`,{description:`Question type`}),content:n.string({description:`Question text`}),mediaUrl:n.string({isOptional:!0,description:`Question media`}),points:n.int({default:1,description:`Points for correct answer`}),codeLanguage:n.string({isOptional:!0,description:`Programming language`}),codeTemplate:n.string({isOptional:!0,description:`Starter code template`}),testCases:n.json({isOptional:!0,description:`Test cases for code validation`}),explanation:n.string({isOptional:!0,description:`Explanation of correct answer`}),hint:n.string({isOptional:!0,description:`Hint for the question`}),order:n.int({default:0,description:`Display order`}),skillId:n.string({isOptional:!0,description:`Associated skill`}),metadata:n.json({isOptional:!0,description:`Additional metadata`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),quiz:n.belongsTo(`Quiz`,[`quizId`],[`id`],{onDelete:`Cascade`}),options:n.hasMany(`QuestionOption`)},indexes:[r.on([`quizId`,`order`]),r.on([`type`]),r.on([`skillId`])],enums:[i]}),l=e({name:`QuestionOption`,description:`An answer option for a question.`,schema:`lssm_learning`,map:`question_option`,fields:{id:n.id({description:`Unique option identifier`}),questionId:n.foreignKey({description:`Parent question`}),content:n.string({description:`Option text`}),matchContent:n.string({isOptional:!0,description:`Match pair content`}),isCorrect:n.boolean({default:!1,description:`Whether option is correct`}),feedback:n.string({isOptional:!0,description:`Feedback when selected`}),order:n.int({default:0,description:`Display order`}),metadata:n.json({isOptional:!0,description:`Additional metadata`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),question:n.belongsTo(`Question`,[`questionId`],[`id`],{onDelete:`Cascade`})},indexes:[r.on([`questionId`,`order`])]}),u=e({name:`QuizAttempt`,description:`A learner quiz attempt.`,schema:`lssm_learning`,map:`quiz_attempt`,fields:{id:n.id({description:`Unique attempt identifier`}),learnerId:n.foreignKey({description:`Learner`}),quizId:n.foreignKey({description:`Quiz`}),status:n.enum(`AttemptStatus`,{default:`IN_PROGRESS`,description:`Attempt status`}),score:n.int({isOptional:!0,description:`Score achieved`}),percentageScore:n.int({isOptional:!0,description:`Percentage score`}),passed:n.boolean({isOptional:!0,description:`Whether passed`}),totalQuestions:n.int({default:0,description:`Total questions`}),answeredQuestions:n.int({default:0,description:`Questions answered`}),correctAnswers:n.int({default:0,description:`Correct answers`}),answers:n.json({isOptional:!0,description:`Submitted answers`}),xpEarned:n.int({default:0,description:`XP earned`}),timeSpent:n.int({default:0,description:`Time spent in seconds`}),startedAt:n.dateTime({description:`When started`}),completedAt:n.dateTime({isOptional:!0,description:`When completed`}),attemptNumber:n.int({default:1,description:`Which attempt this is`}),metadata:n.json({isOptional:!0,description:`Additional metadata`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`}),quiz:n.belongsTo(`Quiz`,[`quizId`],[`id`],{onDelete:`Cascade`})},indexes:[r.on([`learnerId`,`quizId`]),r.on([`learnerId`,`status`]),r.on([`quizId`,`status`])],enums:[o]}),d=e({name:`SkillAssessment`,description:`Assessment of a skill based on quiz performance.`,schema:`lssm_learning`,map:`skill_assessment`,fields:{id:n.id({description:`Unique assessment identifier`}),learnerId:n.foreignKey({description:`Learner`}),skillId:n.string({description:`Skill identifier`}),skillName:n.string({description:`Skill name`}),level:n.int({default:1,description:`Proficiency level (1-5)`}),score:n.int({default:0,description:`Assessment score (0-100)`}),confidence:n.decimal({default:.5,description:`Confidence in assessment`}),questionsAnswered:n.int({default:0,description:`Total questions answered`}),questionsCorrect:n.int({default:0,description:`Total correct`}),assessedAt:n.dateTime({description:`Last assessment time`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[r.unique([`learnerId`,`skillId`],{name:`skill_assessment_unique`}),r.on([`learnerId`,`level`]),r.on([`skillId`])]}),f=[s,c,l,u,d],p=[i,a,o];export{o as AttemptStatusEnum,c as QuestionEntity,l as QuestionOptionEntity,i as QuestionTypeEnum,u as QuizAttemptEntity,s as QuizEntity,a as QuizStatusEnum,d as SkillAssessmentEntity,f as quizEntities,p as quizEnums};
1
+ import{i as e,n as t,r as n,t as r}from"../libs/schema/dist/entity/defineEntity.js";import"../libs/schema/dist/index.js";const i=t({name:`QuestionType`,values:[`MULTIPLE_CHOICE`,`TRUE_FALSE`,`FILL_BLANK`,`MATCHING`,`SHORT_ANSWER`,`CODE`],schema:`lssm_learning`,description:`Type of quiz question.`}),a=t({name:`QuizStatus`,values:[`DRAFT`,`PUBLISHED`,`ARCHIVED`],schema:`lssm_learning`,description:`Publication status of a quiz.`}),o=t({name:`AttemptStatus`,values:[`IN_PROGRESS`,`COMPLETED`,`TIMED_OUT`,`ABANDONED`],schema:`lssm_learning`,description:`Status of a quiz attempt.`}),s=r({name:`Quiz`,description:`A quiz assessment.`,schema:`lssm_learning`,map:`quiz`,fields:{id:n.id({description:`Unique quiz identifier`}),lessonId:n.foreignKey({isOptional:!0,description:`Associated lesson`}),title:n.string({description:`Quiz title`}),description:n.string({isOptional:!0,description:`Quiz description`}),instructions:n.string({isOptional:!0,description:`Quiz instructions`}),passingScore:n.int({default:70,description:`Passing score percentage`}),timeLimit:n.int({isOptional:!0,description:`Time limit in seconds`}),maxAttempts:n.int({isOptional:!0,description:`Maximum attempts allowed`}),shuffleQuestions:n.boolean({default:!1,description:`Shuffle question order`}),shuffleOptions:n.boolean({default:!1,description:`Shuffle answer options`}),showCorrectAnswers:n.boolean({default:!0,description:`Show correct answers after`}),showExplanations:n.boolean({default:!0,description:`Show explanations after`}),status:n.enum(`QuizStatus`,{default:`DRAFT`,description:`Publication status`}),totalPoints:n.int({default:0,description:`Total points available`}),xpReward:n.int({default:20,description:`XP for passing`}),orgId:n.string({isOptional:!0,description:`Organization scope`}),metadata:n.json({isOptional:!0,description:`Additional metadata`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),lesson:n.belongsTo(`Lesson`,[`lessonId`],[`id`],{onDelete:`Cascade`}),questions:n.hasMany(`Question`),attempts:n.hasMany(`QuizAttempt`)},indexes:[e.on([`lessonId`]),e.on([`status`]),e.on([`orgId`])],enums:[a]}),c=r({name:`Question`,description:`A quiz question.`,schema:`lssm_learning`,map:`question`,fields:{id:n.id({description:`Unique question identifier`}),quizId:n.foreignKey({description:`Parent quiz`}),type:n.enum(`QuestionType`,{description:`Question type`}),content:n.string({description:`Question text`}),mediaUrl:n.string({isOptional:!0,description:`Question media`}),points:n.int({default:1,description:`Points for correct answer`}),codeLanguage:n.string({isOptional:!0,description:`Programming language`}),codeTemplate:n.string({isOptional:!0,description:`Starter code template`}),testCases:n.json({isOptional:!0,description:`Test cases for code validation`}),explanation:n.string({isOptional:!0,description:`Explanation of correct answer`}),hint:n.string({isOptional:!0,description:`Hint for the question`}),order:n.int({default:0,description:`Display order`}),skillId:n.string({isOptional:!0,description:`Associated skill`}),metadata:n.json({isOptional:!0,description:`Additional metadata`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),quiz:n.belongsTo(`Quiz`,[`quizId`],[`id`],{onDelete:`Cascade`}),options:n.hasMany(`QuestionOption`)},indexes:[e.on([`quizId`,`order`]),e.on([`type`]),e.on([`skillId`])],enums:[i]}),l=r({name:`QuestionOption`,description:`An answer option for a question.`,schema:`lssm_learning`,map:`question_option`,fields:{id:n.id({description:`Unique option identifier`}),questionId:n.foreignKey({description:`Parent question`}),content:n.string({description:`Option text`}),matchContent:n.string({isOptional:!0,description:`Match pair content`}),isCorrect:n.boolean({default:!1,description:`Whether option is correct`}),feedback:n.string({isOptional:!0,description:`Feedback when selected`}),order:n.int({default:0,description:`Display order`}),metadata:n.json({isOptional:!0,description:`Additional metadata`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),question:n.belongsTo(`Question`,[`questionId`],[`id`],{onDelete:`Cascade`})},indexes:[e.on([`questionId`,`order`])]}),u=r({name:`QuizAttempt`,description:`A learner quiz attempt.`,schema:`lssm_learning`,map:`quiz_attempt`,fields:{id:n.id({description:`Unique attempt identifier`}),learnerId:n.foreignKey({description:`Learner`}),quizId:n.foreignKey({description:`Quiz`}),status:n.enum(`AttemptStatus`,{default:`IN_PROGRESS`,description:`Attempt status`}),score:n.int({isOptional:!0,description:`Score achieved`}),percentageScore:n.int({isOptional:!0,description:`Percentage score`}),passed:n.boolean({isOptional:!0,description:`Whether passed`}),totalQuestions:n.int({default:0,description:`Total questions`}),answeredQuestions:n.int({default:0,description:`Questions answered`}),correctAnswers:n.int({default:0,description:`Correct answers`}),answers:n.json({isOptional:!0,description:`Submitted answers`}),xpEarned:n.int({default:0,description:`XP earned`}),timeSpent:n.int({default:0,description:`Time spent in seconds`}),startedAt:n.dateTime({description:`When started`}),completedAt:n.dateTime({isOptional:!0,description:`When completed`}),attemptNumber:n.int({default:1,description:`Which attempt this is`}),metadata:n.json({isOptional:!0,description:`Additional metadata`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`}),quiz:n.belongsTo(`Quiz`,[`quizId`],[`id`],{onDelete:`Cascade`})},indexes:[e.on([`learnerId`,`quizId`]),e.on([`learnerId`,`status`]),e.on([`quizId`,`status`])],enums:[o]}),d=r({name:`SkillAssessment`,description:`Assessment of a skill based on quiz performance.`,schema:`lssm_learning`,map:`skill_assessment`,fields:{id:n.id({description:`Unique assessment identifier`}),learnerId:n.foreignKey({description:`Learner`}),skillId:n.string({description:`Skill identifier`}),skillName:n.string({description:`Skill name`}),level:n.int({default:1,description:`Proficiency level (1-5)`}),score:n.int({default:0,description:`Assessment score (0-100)`}),confidence:n.decimal({default:.5,description:`Confidence in assessment`}),questionsAnswered:n.int({default:0,description:`Total questions answered`}),questionsCorrect:n.int({default:0,description:`Total correct`}),assessedAt:n.dateTime({description:`Last assessment time`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[e.unique([`learnerId`,`skillId`],{name:`skill_assessment_unique`}),e.on([`learnerId`,`level`]),e.on([`skillId`])]}),f=[s,c,l,u,d],p=[i,a,o];export{o as AttemptStatusEnum,c as QuestionEntity,l as QuestionOptionEntity,i as QuestionTypeEnum,u as QuizAttemptEntity,s as QuizEntity,a as QuizStatusEnum,d as SkillAssessmentEntity,f as quizEntities,p as quizEnums};