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

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 +168 -168
  4. package/dist/contracts/onboarding.js +1 -1
  5. package/dist/contracts/operations.d.ts +71 -71
  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,237 +1,237 @@
1
- import * as _lssm_lib_schema2198 from "@lssm/lib.schema";
1
+ import * as _lssm_lib_schema360 from "@lssm/lib.schema";
2
2
 
3
3
  //#region src/entities/gamification.d.ts
4
4
  /**
5
5
  * Achievement type enum.
6
6
  */
7
- declare const AchievementTypeEnum: _lssm_lib_schema2198.EntityEnumDef;
7
+ declare const AchievementTypeEnum: _lssm_lib_schema360.EntityEnumDef;
8
8
  /**
9
9
  * Leaderboard period enum.
10
10
  */
11
- declare const LeaderboardPeriodEnum: _lssm_lib_schema2198.EntityEnumDef;
11
+ declare const LeaderboardPeriodEnum: _lssm_lib_schema360.EntityEnumDef;
12
12
  /**
13
13
  * Achievement entity - defines an achievement.
14
14
  */
15
- declare const AchievementEntity: _lssm_lib_schema2198.EntitySpec<{
16
- id: _lssm_lib_schema2198.EntityScalarField;
17
- key: _lssm_lib_schema2198.EntityScalarField;
18
- name: _lssm_lib_schema2198.EntityScalarField;
19
- description: _lssm_lib_schema2198.EntityScalarField;
20
- icon: _lssm_lib_schema2198.EntityScalarField;
21
- color: _lssm_lib_schema2198.EntityScalarField;
22
- badgeUrl: _lssm_lib_schema2198.EntityScalarField;
23
- type: _lssm_lib_schema2198.EntityEnumField;
24
- category: _lssm_lib_schema2198.EntityScalarField;
25
- rarity: _lssm_lib_schema2198.EntityScalarField;
26
- xpReward: _lssm_lib_schema2198.EntityScalarField;
27
- condition: _lssm_lib_schema2198.EntityScalarField;
28
- order: _lssm_lib_schema2198.EntityScalarField;
29
- isHidden: _lssm_lib_schema2198.EntityScalarField;
30
- isActive: _lssm_lib_schema2198.EntityScalarField;
31
- orgId: _lssm_lib_schema2198.EntityScalarField;
32
- metadata: _lssm_lib_schema2198.EntityScalarField;
33
- createdAt: _lssm_lib_schema2198.EntityScalarField;
34
- updatedAt: _lssm_lib_schema2198.EntityScalarField;
35
- learnerAchievements: _lssm_lib_schema2198.EntityRelationField;
15
+ declare const AchievementEntity: _lssm_lib_schema360.EntitySpec<{
16
+ id: _lssm_lib_schema360.EntityScalarField;
17
+ key: _lssm_lib_schema360.EntityScalarField;
18
+ name: _lssm_lib_schema360.EntityScalarField;
19
+ description: _lssm_lib_schema360.EntityScalarField;
20
+ icon: _lssm_lib_schema360.EntityScalarField;
21
+ color: _lssm_lib_schema360.EntityScalarField;
22
+ badgeUrl: _lssm_lib_schema360.EntityScalarField;
23
+ type: _lssm_lib_schema360.EntityEnumField;
24
+ category: _lssm_lib_schema360.EntityScalarField;
25
+ rarity: _lssm_lib_schema360.EntityScalarField;
26
+ xpReward: _lssm_lib_schema360.EntityScalarField;
27
+ condition: _lssm_lib_schema360.EntityScalarField;
28
+ order: _lssm_lib_schema360.EntityScalarField;
29
+ isHidden: _lssm_lib_schema360.EntityScalarField;
30
+ isActive: _lssm_lib_schema360.EntityScalarField;
31
+ orgId: _lssm_lib_schema360.EntityScalarField;
32
+ metadata: _lssm_lib_schema360.EntityScalarField;
33
+ createdAt: _lssm_lib_schema360.EntityScalarField;
34
+ updatedAt: _lssm_lib_schema360.EntityScalarField;
35
+ learnerAchievements: _lssm_lib_schema360.EntityRelationField;
36
36
  }>;
37
37
  /**
38
38
  * LearnerAchievement entity - unlocked achievements.
39
39
  */
40
- declare const LearnerAchievementEntity: _lssm_lib_schema2198.EntitySpec<{
41
- id: _lssm_lib_schema2198.EntityScalarField;
42
- learnerId: _lssm_lib_schema2198.EntityScalarField;
43
- achievementId: _lssm_lib_schema2198.EntityScalarField;
44
- xpEarned: _lssm_lib_schema2198.EntityScalarField;
45
- progress: _lssm_lib_schema2198.EntityScalarField;
46
- currentValue: _lssm_lib_schema2198.EntityScalarField;
47
- targetValue: _lssm_lib_schema2198.EntityScalarField;
48
- unlockedAt: _lssm_lib_schema2198.EntityScalarField;
49
- createdAt: _lssm_lib_schema2198.EntityScalarField;
50
- learner: _lssm_lib_schema2198.EntityRelationField;
51
- achievement: _lssm_lib_schema2198.EntityRelationField;
40
+ declare const LearnerAchievementEntity: _lssm_lib_schema360.EntitySpec<{
41
+ id: _lssm_lib_schema360.EntityScalarField;
42
+ learnerId: _lssm_lib_schema360.EntityScalarField;
43
+ achievementId: _lssm_lib_schema360.EntityScalarField;
44
+ xpEarned: _lssm_lib_schema360.EntityScalarField;
45
+ progress: _lssm_lib_schema360.EntityScalarField;
46
+ currentValue: _lssm_lib_schema360.EntityScalarField;
47
+ targetValue: _lssm_lib_schema360.EntityScalarField;
48
+ unlockedAt: _lssm_lib_schema360.EntityScalarField;
49
+ createdAt: _lssm_lib_schema360.EntityScalarField;
50
+ learner: _lssm_lib_schema360.EntityRelationField;
51
+ achievement: _lssm_lib_schema360.EntityRelationField;
52
52
  }>;
53
53
  /**
54
54
  * Streak entity - tracks daily learning streaks.
55
55
  */
56
- declare const StreakEntity: _lssm_lib_schema2198.EntitySpec<{
57
- id: _lssm_lib_schema2198.EntityScalarField;
58
- learnerId: _lssm_lib_schema2198.EntityScalarField;
59
- currentStreak: _lssm_lib_schema2198.EntityScalarField;
60
- longestStreak: _lssm_lib_schema2198.EntityScalarField;
61
- lastActivityAt: _lssm_lib_schema2198.EntityScalarField;
62
- lastActivityDate: _lssm_lib_schema2198.EntityScalarField;
63
- freezesRemaining: _lssm_lib_schema2198.EntityScalarField;
64
- freezeUsedAt: _lssm_lib_schema2198.EntityScalarField;
65
- streakHistory: _lssm_lib_schema2198.EntityScalarField;
66
- createdAt: _lssm_lib_schema2198.EntityScalarField;
67
- updatedAt: _lssm_lib_schema2198.EntityScalarField;
68
- learner: _lssm_lib_schema2198.EntityRelationField;
56
+ declare const StreakEntity: _lssm_lib_schema360.EntitySpec<{
57
+ id: _lssm_lib_schema360.EntityScalarField;
58
+ learnerId: _lssm_lib_schema360.EntityScalarField;
59
+ currentStreak: _lssm_lib_schema360.EntityScalarField;
60
+ longestStreak: _lssm_lib_schema360.EntityScalarField;
61
+ lastActivityAt: _lssm_lib_schema360.EntityScalarField;
62
+ lastActivityDate: _lssm_lib_schema360.EntityScalarField;
63
+ freezesRemaining: _lssm_lib_schema360.EntityScalarField;
64
+ freezeUsedAt: _lssm_lib_schema360.EntityScalarField;
65
+ streakHistory: _lssm_lib_schema360.EntityScalarField;
66
+ createdAt: _lssm_lib_schema360.EntityScalarField;
67
+ updatedAt: _lssm_lib_schema360.EntityScalarField;
68
+ learner: _lssm_lib_schema360.EntityRelationField;
69
69
  }>;
70
70
  /**
71
71
  * DailyGoal entity - tracks daily XP goals.
72
72
  */
73
- declare const DailyGoalEntity: _lssm_lib_schema2198.EntitySpec<{
74
- id: _lssm_lib_schema2198.EntityScalarField;
75
- learnerId: _lssm_lib_schema2198.EntityScalarField;
76
- date: _lssm_lib_schema2198.EntityScalarField;
77
- targetXp: _lssm_lib_schema2198.EntityScalarField;
78
- currentXp: _lssm_lib_schema2198.EntityScalarField;
79
- isCompleted: _lssm_lib_schema2198.EntityScalarField;
80
- completedAt: _lssm_lib_schema2198.EntityScalarField;
81
- xpBreakdown: _lssm_lib_schema2198.EntityScalarField;
82
- createdAt: _lssm_lib_schema2198.EntityScalarField;
83
- updatedAt: _lssm_lib_schema2198.EntityScalarField;
84
- learner: _lssm_lib_schema2198.EntityRelationField;
73
+ declare const DailyGoalEntity: _lssm_lib_schema360.EntitySpec<{
74
+ id: _lssm_lib_schema360.EntityScalarField;
75
+ learnerId: _lssm_lib_schema360.EntityScalarField;
76
+ date: _lssm_lib_schema360.EntityScalarField;
77
+ targetXp: _lssm_lib_schema360.EntityScalarField;
78
+ currentXp: _lssm_lib_schema360.EntityScalarField;
79
+ isCompleted: _lssm_lib_schema360.EntityScalarField;
80
+ completedAt: _lssm_lib_schema360.EntityScalarField;
81
+ xpBreakdown: _lssm_lib_schema360.EntityScalarField;
82
+ createdAt: _lssm_lib_schema360.EntityScalarField;
83
+ updatedAt: _lssm_lib_schema360.EntityScalarField;
84
+ learner: _lssm_lib_schema360.EntityRelationField;
85
85
  }>;
86
86
  /**
87
87
  * LeaderboardEntry entity - leaderboard rankings.
88
88
  */
89
- declare const LeaderboardEntryEntity: _lssm_lib_schema2198.EntitySpec<{
90
- id: _lssm_lib_schema2198.EntityScalarField;
91
- learnerId: _lssm_lib_schema2198.EntityScalarField;
92
- periodType: _lssm_lib_schema2198.EntityEnumField;
93
- periodKey: _lssm_lib_schema2198.EntityScalarField;
94
- xp: _lssm_lib_schema2198.EntityScalarField;
95
- rank: _lssm_lib_schema2198.EntityScalarField;
96
- lessonsCompleted: _lssm_lib_schema2198.EntityScalarField;
97
- quizzesPassed: _lssm_lib_schema2198.EntityScalarField;
98
- cardsReviewed: _lssm_lib_schema2198.EntityScalarField;
99
- streakDays: _lssm_lib_schema2198.EntityScalarField;
100
- league: _lssm_lib_schema2198.EntityScalarField;
101
- orgId: _lssm_lib_schema2198.EntityScalarField;
102
- createdAt: _lssm_lib_schema2198.EntityScalarField;
103
- updatedAt: _lssm_lib_schema2198.EntityScalarField;
104
- learner: _lssm_lib_schema2198.EntityRelationField;
89
+ declare const LeaderboardEntryEntity: _lssm_lib_schema360.EntitySpec<{
90
+ id: _lssm_lib_schema360.EntityScalarField;
91
+ learnerId: _lssm_lib_schema360.EntityScalarField;
92
+ periodType: _lssm_lib_schema360.EntityEnumField;
93
+ periodKey: _lssm_lib_schema360.EntityScalarField;
94
+ xp: _lssm_lib_schema360.EntityScalarField;
95
+ rank: _lssm_lib_schema360.EntityScalarField;
96
+ lessonsCompleted: _lssm_lib_schema360.EntityScalarField;
97
+ quizzesPassed: _lssm_lib_schema360.EntityScalarField;
98
+ cardsReviewed: _lssm_lib_schema360.EntityScalarField;
99
+ streakDays: _lssm_lib_schema360.EntityScalarField;
100
+ league: _lssm_lib_schema360.EntityScalarField;
101
+ orgId: _lssm_lib_schema360.EntityScalarField;
102
+ createdAt: _lssm_lib_schema360.EntityScalarField;
103
+ updatedAt: _lssm_lib_schema360.EntityScalarField;
104
+ learner: _lssm_lib_schema360.EntityRelationField;
105
105
  }>;
106
106
  /**
107
107
  * Heart entity - lives system (optional).
108
108
  */
109
- declare const HeartEntity: _lssm_lib_schema2198.EntitySpec<{
110
- id: _lssm_lib_schema2198.EntityScalarField;
111
- learnerId: _lssm_lib_schema2198.EntityScalarField;
112
- current: _lssm_lib_schema2198.EntityScalarField;
113
- max: _lssm_lib_schema2198.EntityScalarField;
114
- lastRefillAt: _lssm_lib_schema2198.EntityScalarField;
115
- nextRefillAt: _lssm_lib_schema2198.EntityScalarField;
116
- refillIntervalMinutes: _lssm_lib_schema2198.EntityScalarField;
117
- infiniteUntil: _lssm_lib_schema2198.EntityScalarField;
118
- createdAt: _lssm_lib_schema2198.EntityScalarField;
119
- updatedAt: _lssm_lib_schema2198.EntityScalarField;
120
- learner: _lssm_lib_schema2198.EntityRelationField;
109
+ declare const HeartEntity: _lssm_lib_schema360.EntitySpec<{
110
+ id: _lssm_lib_schema360.EntityScalarField;
111
+ learnerId: _lssm_lib_schema360.EntityScalarField;
112
+ current: _lssm_lib_schema360.EntityScalarField;
113
+ max: _lssm_lib_schema360.EntityScalarField;
114
+ lastRefillAt: _lssm_lib_schema360.EntityScalarField;
115
+ nextRefillAt: _lssm_lib_schema360.EntityScalarField;
116
+ refillIntervalMinutes: _lssm_lib_schema360.EntityScalarField;
117
+ infiniteUntil: _lssm_lib_schema360.EntityScalarField;
118
+ createdAt: _lssm_lib_schema360.EntityScalarField;
119
+ updatedAt: _lssm_lib_schema360.EntityScalarField;
120
+ learner: _lssm_lib_schema360.EntityRelationField;
121
121
  }>;
122
122
  /**
123
123
  * XPTransaction entity - XP earning history.
124
124
  */
125
- declare const XPTransactionEntity: _lssm_lib_schema2198.EntitySpec<{
126
- id: _lssm_lib_schema2198.EntityScalarField;
127
- learnerId: _lssm_lib_schema2198.EntityScalarField;
128
- amount: _lssm_lib_schema2198.EntityScalarField;
129
- type: _lssm_lib_schema2198.EntityScalarField;
130
- sourceType: _lssm_lib_schema2198.EntityScalarField;
131
- sourceId: _lssm_lib_schema2198.EntityScalarField;
132
- description: _lssm_lib_schema2198.EntityScalarField;
133
- balanceAfter: _lssm_lib_schema2198.EntityScalarField;
134
- createdAt: _lssm_lib_schema2198.EntityScalarField;
135
- learner: _lssm_lib_schema2198.EntityRelationField;
125
+ declare const XPTransactionEntity: _lssm_lib_schema360.EntitySpec<{
126
+ id: _lssm_lib_schema360.EntityScalarField;
127
+ learnerId: _lssm_lib_schema360.EntityScalarField;
128
+ amount: _lssm_lib_schema360.EntityScalarField;
129
+ type: _lssm_lib_schema360.EntityScalarField;
130
+ sourceType: _lssm_lib_schema360.EntityScalarField;
131
+ sourceId: _lssm_lib_schema360.EntityScalarField;
132
+ description: _lssm_lib_schema360.EntityScalarField;
133
+ balanceAfter: _lssm_lib_schema360.EntityScalarField;
134
+ createdAt: _lssm_lib_schema360.EntityScalarField;
135
+ learner: _lssm_lib_schema360.EntityRelationField;
136
136
  }>;
137
- declare const gamificationEntities: (_lssm_lib_schema2198.EntitySpec<{
138
- id: _lssm_lib_schema2198.EntityScalarField;
139
- key: _lssm_lib_schema2198.EntityScalarField;
140
- name: _lssm_lib_schema2198.EntityScalarField;
141
- description: _lssm_lib_schema2198.EntityScalarField;
142
- icon: _lssm_lib_schema2198.EntityScalarField;
143
- color: _lssm_lib_schema2198.EntityScalarField;
144
- badgeUrl: _lssm_lib_schema2198.EntityScalarField;
145
- type: _lssm_lib_schema2198.EntityEnumField;
146
- category: _lssm_lib_schema2198.EntityScalarField;
147
- rarity: _lssm_lib_schema2198.EntityScalarField;
148
- xpReward: _lssm_lib_schema2198.EntityScalarField;
149
- condition: _lssm_lib_schema2198.EntityScalarField;
150
- order: _lssm_lib_schema2198.EntityScalarField;
151
- isHidden: _lssm_lib_schema2198.EntityScalarField;
152
- isActive: _lssm_lib_schema2198.EntityScalarField;
153
- orgId: _lssm_lib_schema2198.EntityScalarField;
154
- metadata: _lssm_lib_schema2198.EntityScalarField;
155
- createdAt: _lssm_lib_schema2198.EntityScalarField;
156
- updatedAt: _lssm_lib_schema2198.EntityScalarField;
157
- learnerAchievements: _lssm_lib_schema2198.EntityRelationField;
158
- }> | _lssm_lib_schema2198.EntitySpec<{
159
- id: _lssm_lib_schema2198.EntityScalarField;
160
- learnerId: _lssm_lib_schema2198.EntityScalarField;
161
- achievementId: _lssm_lib_schema2198.EntityScalarField;
162
- xpEarned: _lssm_lib_schema2198.EntityScalarField;
163
- progress: _lssm_lib_schema2198.EntityScalarField;
164
- currentValue: _lssm_lib_schema2198.EntityScalarField;
165
- targetValue: _lssm_lib_schema2198.EntityScalarField;
166
- unlockedAt: _lssm_lib_schema2198.EntityScalarField;
167
- createdAt: _lssm_lib_schema2198.EntityScalarField;
168
- learner: _lssm_lib_schema2198.EntityRelationField;
169
- achievement: _lssm_lib_schema2198.EntityRelationField;
170
- }> | _lssm_lib_schema2198.EntitySpec<{
171
- id: _lssm_lib_schema2198.EntityScalarField;
172
- learnerId: _lssm_lib_schema2198.EntityScalarField;
173
- currentStreak: _lssm_lib_schema2198.EntityScalarField;
174
- longestStreak: _lssm_lib_schema2198.EntityScalarField;
175
- lastActivityAt: _lssm_lib_schema2198.EntityScalarField;
176
- lastActivityDate: _lssm_lib_schema2198.EntityScalarField;
177
- freezesRemaining: _lssm_lib_schema2198.EntityScalarField;
178
- freezeUsedAt: _lssm_lib_schema2198.EntityScalarField;
179
- streakHistory: _lssm_lib_schema2198.EntityScalarField;
180
- createdAt: _lssm_lib_schema2198.EntityScalarField;
181
- updatedAt: _lssm_lib_schema2198.EntityScalarField;
182
- learner: _lssm_lib_schema2198.EntityRelationField;
183
- }> | _lssm_lib_schema2198.EntitySpec<{
184
- id: _lssm_lib_schema2198.EntityScalarField;
185
- learnerId: _lssm_lib_schema2198.EntityScalarField;
186
- date: _lssm_lib_schema2198.EntityScalarField;
187
- targetXp: _lssm_lib_schema2198.EntityScalarField;
188
- currentXp: _lssm_lib_schema2198.EntityScalarField;
189
- isCompleted: _lssm_lib_schema2198.EntityScalarField;
190
- completedAt: _lssm_lib_schema2198.EntityScalarField;
191
- xpBreakdown: _lssm_lib_schema2198.EntityScalarField;
192
- createdAt: _lssm_lib_schema2198.EntityScalarField;
193
- updatedAt: _lssm_lib_schema2198.EntityScalarField;
194
- learner: _lssm_lib_schema2198.EntityRelationField;
195
- }> | _lssm_lib_schema2198.EntitySpec<{
196
- id: _lssm_lib_schema2198.EntityScalarField;
197
- learnerId: _lssm_lib_schema2198.EntityScalarField;
198
- periodType: _lssm_lib_schema2198.EntityEnumField;
199
- periodKey: _lssm_lib_schema2198.EntityScalarField;
200
- xp: _lssm_lib_schema2198.EntityScalarField;
201
- rank: _lssm_lib_schema2198.EntityScalarField;
202
- lessonsCompleted: _lssm_lib_schema2198.EntityScalarField;
203
- quizzesPassed: _lssm_lib_schema2198.EntityScalarField;
204
- cardsReviewed: _lssm_lib_schema2198.EntityScalarField;
205
- streakDays: _lssm_lib_schema2198.EntityScalarField;
206
- league: _lssm_lib_schema2198.EntityScalarField;
207
- orgId: _lssm_lib_schema2198.EntityScalarField;
208
- createdAt: _lssm_lib_schema2198.EntityScalarField;
209
- updatedAt: _lssm_lib_schema2198.EntityScalarField;
210
- learner: _lssm_lib_schema2198.EntityRelationField;
211
- }> | _lssm_lib_schema2198.EntitySpec<{
212
- id: _lssm_lib_schema2198.EntityScalarField;
213
- learnerId: _lssm_lib_schema2198.EntityScalarField;
214
- current: _lssm_lib_schema2198.EntityScalarField;
215
- max: _lssm_lib_schema2198.EntityScalarField;
216
- lastRefillAt: _lssm_lib_schema2198.EntityScalarField;
217
- nextRefillAt: _lssm_lib_schema2198.EntityScalarField;
218
- refillIntervalMinutes: _lssm_lib_schema2198.EntityScalarField;
219
- infiniteUntil: _lssm_lib_schema2198.EntityScalarField;
220
- createdAt: _lssm_lib_schema2198.EntityScalarField;
221
- updatedAt: _lssm_lib_schema2198.EntityScalarField;
222
- learner: _lssm_lib_schema2198.EntityRelationField;
223
- }> | _lssm_lib_schema2198.EntitySpec<{
224
- id: _lssm_lib_schema2198.EntityScalarField;
225
- learnerId: _lssm_lib_schema2198.EntityScalarField;
226
- amount: _lssm_lib_schema2198.EntityScalarField;
227
- type: _lssm_lib_schema2198.EntityScalarField;
228
- sourceType: _lssm_lib_schema2198.EntityScalarField;
229
- sourceId: _lssm_lib_schema2198.EntityScalarField;
230
- description: _lssm_lib_schema2198.EntityScalarField;
231
- balanceAfter: _lssm_lib_schema2198.EntityScalarField;
232
- createdAt: _lssm_lib_schema2198.EntityScalarField;
233
- learner: _lssm_lib_schema2198.EntityRelationField;
137
+ declare const gamificationEntities: (_lssm_lib_schema360.EntitySpec<{
138
+ id: _lssm_lib_schema360.EntityScalarField;
139
+ key: _lssm_lib_schema360.EntityScalarField;
140
+ name: _lssm_lib_schema360.EntityScalarField;
141
+ description: _lssm_lib_schema360.EntityScalarField;
142
+ icon: _lssm_lib_schema360.EntityScalarField;
143
+ color: _lssm_lib_schema360.EntityScalarField;
144
+ badgeUrl: _lssm_lib_schema360.EntityScalarField;
145
+ type: _lssm_lib_schema360.EntityEnumField;
146
+ category: _lssm_lib_schema360.EntityScalarField;
147
+ rarity: _lssm_lib_schema360.EntityScalarField;
148
+ xpReward: _lssm_lib_schema360.EntityScalarField;
149
+ condition: _lssm_lib_schema360.EntityScalarField;
150
+ order: _lssm_lib_schema360.EntityScalarField;
151
+ isHidden: _lssm_lib_schema360.EntityScalarField;
152
+ isActive: _lssm_lib_schema360.EntityScalarField;
153
+ orgId: _lssm_lib_schema360.EntityScalarField;
154
+ metadata: _lssm_lib_schema360.EntityScalarField;
155
+ createdAt: _lssm_lib_schema360.EntityScalarField;
156
+ updatedAt: _lssm_lib_schema360.EntityScalarField;
157
+ learnerAchievements: _lssm_lib_schema360.EntityRelationField;
158
+ }> | _lssm_lib_schema360.EntitySpec<{
159
+ id: _lssm_lib_schema360.EntityScalarField;
160
+ learnerId: _lssm_lib_schema360.EntityScalarField;
161
+ achievementId: _lssm_lib_schema360.EntityScalarField;
162
+ xpEarned: _lssm_lib_schema360.EntityScalarField;
163
+ progress: _lssm_lib_schema360.EntityScalarField;
164
+ currentValue: _lssm_lib_schema360.EntityScalarField;
165
+ targetValue: _lssm_lib_schema360.EntityScalarField;
166
+ unlockedAt: _lssm_lib_schema360.EntityScalarField;
167
+ createdAt: _lssm_lib_schema360.EntityScalarField;
168
+ learner: _lssm_lib_schema360.EntityRelationField;
169
+ achievement: _lssm_lib_schema360.EntityRelationField;
170
+ }> | _lssm_lib_schema360.EntitySpec<{
171
+ id: _lssm_lib_schema360.EntityScalarField;
172
+ learnerId: _lssm_lib_schema360.EntityScalarField;
173
+ currentStreak: _lssm_lib_schema360.EntityScalarField;
174
+ longestStreak: _lssm_lib_schema360.EntityScalarField;
175
+ lastActivityAt: _lssm_lib_schema360.EntityScalarField;
176
+ lastActivityDate: _lssm_lib_schema360.EntityScalarField;
177
+ freezesRemaining: _lssm_lib_schema360.EntityScalarField;
178
+ freezeUsedAt: _lssm_lib_schema360.EntityScalarField;
179
+ streakHistory: _lssm_lib_schema360.EntityScalarField;
180
+ createdAt: _lssm_lib_schema360.EntityScalarField;
181
+ updatedAt: _lssm_lib_schema360.EntityScalarField;
182
+ learner: _lssm_lib_schema360.EntityRelationField;
183
+ }> | _lssm_lib_schema360.EntitySpec<{
184
+ id: _lssm_lib_schema360.EntityScalarField;
185
+ learnerId: _lssm_lib_schema360.EntityScalarField;
186
+ date: _lssm_lib_schema360.EntityScalarField;
187
+ targetXp: _lssm_lib_schema360.EntityScalarField;
188
+ currentXp: _lssm_lib_schema360.EntityScalarField;
189
+ isCompleted: _lssm_lib_schema360.EntityScalarField;
190
+ completedAt: _lssm_lib_schema360.EntityScalarField;
191
+ xpBreakdown: _lssm_lib_schema360.EntityScalarField;
192
+ createdAt: _lssm_lib_schema360.EntityScalarField;
193
+ updatedAt: _lssm_lib_schema360.EntityScalarField;
194
+ learner: _lssm_lib_schema360.EntityRelationField;
195
+ }> | _lssm_lib_schema360.EntitySpec<{
196
+ id: _lssm_lib_schema360.EntityScalarField;
197
+ learnerId: _lssm_lib_schema360.EntityScalarField;
198
+ periodType: _lssm_lib_schema360.EntityEnumField;
199
+ periodKey: _lssm_lib_schema360.EntityScalarField;
200
+ xp: _lssm_lib_schema360.EntityScalarField;
201
+ rank: _lssm_lib_schema360.EntityScalarField;
202
+ lessonsCompleted: _lssm_lib_schema360.EntityScalarField;
203
+ quizzesPassed: _lssm_lib_schema360.EntityScalarField;
204
+ cardsReviewed: _lssm_lib_schema360.EntityScalarField;
205
+ streakDays: _lssm_lib_schema360.EntityScalarField;
206
+ league: _lssm_lib_schema360.EntityScalarField;
207
+ orgId: _lssm_lib_schema360.EntityScalarField;
208
+ createdAt: _lssm_lib_schema360.EntityScalarField;
209
+ updatedAt: _lssm_lib_schema360.EntityScalarField;
210
+ learner: _lssm_lib_schema360.EntityRelationField;
211
+ }> | _lssm_lib_schema360.EntitySpec<{
212
+ id: _lssm_lib_schema360.EntityScalarField;
213
+ learnerId: _lssm_lib_schema360.EntityScalarField;
214
+ current: _lssm_lib_schema360.EntityScalarField;
215
+ max: _lssm_lib_schema360.EntityScalarField;
216
+ lastRefillAt: _lssm_lib_schema360.EntityScalarField;
217
+ nextRefillAt: _lssm_lib_schema360.EntityScalarField;
218
+ refillIntervalMinutes: _lssm_lib_schema360.EntityScalarField;
219
+ infiniteUntil: _lssm_lib_schema360.EntityScalarField;
220
+ createdAt: _lssm_lib_schema360.EntityScalarField;
221
+ updatedAt: _lssm_lib_schema360.EntityScalarField;
222
+ learner: _lssm_lib_schema360.EntityRelationField;
223
+ }> | _lssm_lib_schema360.EntitySpec<{
224
+ id: _lssm_lib_schema360.EntityScalarField;
225
+ learnerId: _lssm_lib_schema360.EntityScalarField;
226
+ amount: _lssm_lib_schema360.EntityScalarField;
227
+ type: _lssm_lib_schema360.EntityScalarField;
228
+ sourceType: _lssm_lib_schema360.EntityScalarField;
229
+ sourceId: _lssm_lib_schema360.EntityScalarField;
230
+ description: _lssm_lib_schema360.EntityScalarField;
231
+ balanceAfter: _lssm_lib_schema360.EntityScalarField;
232
+ createdAt: _lssm_lib_schema360.EntityScalarField;
233
+ learner: _lssm_lib_schema360.EntityRelationField;
234
234
  }>)[];
235
- declare const gamificationEnums: _lssm_lib_schema2198.EntityEnumDef[];
235
+ declare const gamificationEnums: _lssm_lib_schema360.EntityEnumDef[];
236
236
  //#endregion
237
237
  export { AchievementEntity, AchievementTypeEnum, DailyGoalEntity, HeartEntity, LeaderboardEntryEntity, LeaderboardPeriodEnum, LearnerAchievementEntity, StreakEntity, XPTransactionEntity, gamificationEntities, gamificationEnums };
@@ -1 +1 @@
1
- import{defineEntity as e,defineEntityEnum as t,field as n,index as r}from"@lssm/lib.schema";const i=t({name:`AchievementType`,values:[`MILESTONE`,`STREAK`,`SKILL`,`SOCIAL`,`SPECIAL`,`SEASONAL`],schema:`lssm_learning`,description:`Type of achievement.`}),a=t({name:`LeaderboardPeriod`,values:[`DAILY`,`WEEKLY`,`MONTHLY`,`ALL_TIME`],schema:`lssm_learning`,description:`Leaderboard time period.`}),o=e({name:`Achievement`,description:`An achievement that can be unlocked.`,schema:`lssm_learning`,map:`achievement`,fields:{id:n.id({description:`Unique achievement identifier`}),key:n.string({isUnique:!0,description:`Achievement key`}),name:n.string({description:`Achievement name`}),description:n.string({description:`Achievement description`}),icon:n.string({isOptional:!0,description:`Icon name or URL`}),color:n.string({isOptional:!0,description:`Display color`}),badgeUrl:n.string({isOptional:!0,description:`Badge image URL`}),type:n.enum(`AchievementType`,{default:`MILESTONE`,description:`Achievement type`}),category:n.string({isOptional:!0,description:`Achievement category`}),rarity:n.string({default:`"common"`,description:`Rarity: common, rare, epic, legendary`}),xpReward:n.int({default:50,description:`XP awarded`}),condition:n.json({description:`Unlock condition`}),order:n.int({default:0,description:`Display order`}),isHidden:n.boolean({default:!1,description:`Hide until unlocked`}),isActive:n.boolean({default:!0,description:`Whether achievement is active`}),orgId:n.string({isOptional:!0,description:`Organization scope`}),metadata:n.json({isOptional:!0,description:`Additional metadata`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learnerAchievements:n.hasMany(`LearnerAchievement`)},indexes:[r.on([`type`]),r.on([`category`]),r.on([`isActive`]),r.on([`orgId`])],enums:[i]}),s=e({name:`LearnerAchievement`,description:`An achievement unlocked by a learner.`,schema:`lssm_learning`,map:`learner_achievement`,fields:{id:n.id({description:`Unique record identifier`}),learnerId:n.foreignKey({description:`Learner`}),achievementId:n.foreignKey({description:`Achievement`}),xpEarned:n.int({default:0,description:`XP earned`}),progress:n.int({default:100,description:`Progress percentage`}),currentValue:n.int({isOptional:!0,description:`Current value towards goal`}),targetValue:n.int({isOptional:!0,description:`Target value for completion`}),unlockedAt:n.dateTime({description:`When unlocked`}),createdAt:n.createdAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`}),achievement:n.belongsTo(`Achievement`,[`achievementId`],[`id`],{onDelete:`Cascade`})},indexes:[r.unique([`learnerId`,`achievementId`],{name:`learner_achievement_unique`}),r.on([`learnerId`,`unlockedAt`]),r.on([`achievementId`])]}),c=e({name:`Streak`,description:`Tracks daily learning streaks.`,schema:`lssm_learning`,map:`streak`,fields:{id:n.id({description:`Unique streak identifier`}),learnerId:n.foreignKey({description:`Learner`}),currentStreak:n.int({default:0,description:`Current streak days`}),longestStreak:n.int({default:0,description:`Longest streak ever`}),lastActivityAt:n.dateTime({isOptional:!0,description:`Last learning activity`}),lastActivityDate:n.string({isOptional:!0,description:`Last activity date (YYYY-MM-DD)`}),freezesRemaining:n.int({default:0,description:`Streak freezes available`}),freezeUsedAt:n.dateTime({isOptional:!0,description:`When last freeze was used`}),streakHistory:n.json({isOptional:!0,description:`Historical streak data`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[r.unique([`learnerId`],{name:`streak_learner_unique`}),r.on([`currentStreak`]),r.on([`longestStreak`])]}),l=e({name:`DailyGoal`,description:`Daily XP goal tracking.`,schema:`lssm_learning`,map:`daily_goal`,fields:{id:n.id({description:`Unique goal identifier`}),learnerId:n.foreignKey({description:`Learner`}),date:n.string({description:`Date (YYYY-MM-DD)`}),targetXp:n.int({description:`Target XP for the day`}),currentXp:n.int({default:0,description:`XP earned today`}),isCompleted:n.boolean({default:!1,description:`Whether goal was met`}),completedAt:n.dateTime({isOptional:!0,description:`When goal was completed`}),xpBreakdown:n.json({isOptional:!0,description:`XP sources breakdown`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[r.unique([`learnerId`,`date`],{name:`daily_goal_unique`}),r.on([`date`,`isCompleted`])]}),u=e({name:`LeaderboardEntry`,description:`Leaderboard entry for a learner.`,schema:`lssm_learning`,map:`leaderboard_entry`,fields:{id:n.id({description:`Unique entry identifier`}),learnerId:n.foreignKey({description:`Learner`}),periodType:n.enum(`LeaderboardPeriod`,{description:`Period type`}),periodKey:n.string({description:`Period key (e.g., 2024-W01)`}),xp:n.int({default:0,description:`XP earned in period`}),rank:n.int({isOptional:!0,description:`Rank in leaderboard`}),lessonsCompleted:n.int({default:0,description:`Lessons completed`}),quizzesPassed:n.int({default:0,description:`Quizzes passed`}),cardsReviewed:n.int({default:0,description:`Cards reviewed`}),streakDays:n.int({default:0,description:`Streak days in period`}),league:n.string({isOptional:!0,description:`League tier`}),orgId:n.string({isOptional:!0,description:`Organization scope`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[r.unique([`learnerId`,`periodType`,`periodKey`],{name:`leaderboard_entry_unique`}),r.on([`periodType`,`periodKey`,`xp`]),r.on([`orgId`,`periodType`,`periodKey`,`xp`])],enums:[a]}),d=e({name:`Heart`,description:`Lives/hearts system for quiz attempts.`,schema:`lssm_learning`,map:`heart`,fields:{id:n.id({description:`Unique heart record identifier`}),learnerId:n.foreignKey({description:`Learner`}),current:n.int({default:5,description:`Current hearts`}),max:n.int({default:5,description:`Maximum hearts`}),lastRefillAt:n.dateTime({isOptional:!0,description:`Last refill time`}),nextRefillAt:n.dateTime({isOptional:!0,description:`Next refill time`}),refillIntervalMinutes:n.int({default:240,description:`Minutes between refills`}),infiniteUntil:n.dateTime({isOptional:!0,description:`Infinite hearts until`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[r.unique([`learnerId`],{name:`heart_learner_unique`}),r.on([`nextRefillAt`])]}),f=e({name:`XPTransaction`,description:`Record of XP earned or spent.`,schema:`lssm_learning`,map:`xp_transaction`,fields:{id:n.id({description:`Unique transaction identifier`}),learnerId:n.foreignKey({description:`Learner`}),amount:n.int({description:`XP amount (positive = earned, negative = spent)`}),type:n.string({description:`Transaction type (lesson, quiz, streak, achievement, etc.)`}),sourceType:n.string({isOptional:!0,description:`Source entity type`}),sourceId:n.string({isOptional:!0,description:`Source entity ID`}),description:n.string({isOptional:!0,description:`Human-readable description`}),balanceAfter:n.int({description:`Total XP after transaction`}),createdAt:n.createdAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[r.on([`learnerId`,`createdAt`]),r.on([`type`]),r.on([`sourceType`,`sourceId`])]}),p=[o,s,c,l,u,d,f],m=[i,a];export{o as AchievementEntity,i as AchievementTypeEnum,l as DailyGoalEntity,d as HeartEntity,u as LeaderboardEntryEntity,a as LeaderboardPeriodEnum,s as LearnerAchievementEntity,c as StreakEntity,f as XPTransactionEntity,p as gamificationEntities,m as gamificationEnums};
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:`AchievementType`,values:[`MILESTONE`,`STREAK`,`SKILL`,`SOCIAL`,`SPECIAL`,`SEASONAL`],schema:`lssm_learning`,description:`Type of achievement.`}),a=t({name:`LeaderboardPeriod`,values:[`DAILY`,`WEEKLY`,`MONTHLY`,`ALL_TIME`],schema:`lssm_learning`,description:`Leaderboard time period.`}),o=r({name:`Achievement`,description:`An achievement that can be unlocked.`,schema:`lssm_learning`,map:`achievement`,fields:{id:n.id({description:`Unique achievement identifier`}),key:n.string({isUnique:!0,description:`Achievement key`}),name:n.string({description:`Achievement name`}),description:n.string({description:`Achievement description`}),icon:n.string({isOptional:!0,description:`Icon name or URL`}),color:n.string({isOptional:!0,description:`Display color`}),badgeUrl:n.string({isOptional:!0,description:`Badge image URL`}),type:n.enum(`AchievementType`,{default:`MILESTONE`,description:`Achievement type`}),category:n.string({isOptional:!0,description:`Achievement category`}),rarity:n.string({default:`"common"`,description:`Rarity: common, rare, epic, legendary`}),xpReward:n.int({default:50,description:`XP awarded`}),condition:n.json({description:`Unlock condition`}),order:n.int({default:0,description:`Display order`}),isHidden:n.boolean({default:!1,description:`Hide until unlocked`}),isActive:n.boolean({default:!0,description:`Whether achievement is active`}),orgId:n.string({isOptional:!0,description:`Organization scope`}),metadata:n.json({isOptional:!0,description:`Additional metadata`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learnerAchievements:n.hasMany(`LearnerAchievement`)},indexes:[e.on([`type`]),e.on([`category`]),e.on([`isActive`]),e.on([`orgId`])],enums:[i]}),s=r({name:`LearnerAchievement`,description:`An achievement unlocked by a learner.`,schema:`lssm_learning`,map:`learner_achievement`,fields:{id:n.id({description:`Unique record identifier`}),learnerId:n.foreignKey({description:`Learner`}),achievementId:n.foreignKey({description:`Achievement`}),xpEarned:n.int({default:0,description:`XP earned`}),progress:n.int({default:100,description:`Progress percentage`}),currentValue:n.int({isOptional:!0,description:`Current value towards goal`}),targetValue:n.int({isOptional:!0,description:`Target value for completion`}),unlockedAt:n.dateTime({description:`When unlocked`}),createdAt:n.createdAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`}),achievement:n.belongsTo(`Achievement`,[`achievementId`],[`id`],{onDelete:`Cascade`})},indexes:[e.unique([`learnerId`,`achievementId`],{name:`learner_achievement_unique`}),e.on([`learnerId`,`unlockedAt`]),e.on([`achievementId`])]}),c=r({name:`Streak`,description:`Tracks daily learning streaks.`,schema:`lssm_learning`,map:`streak`,fields:{id:n.id({description:`Unique streak identifier`}),learnerId:n.foreignKey({description:`Learner`}),currentStreak:n.int({default:0,description:`Current streak days`}),longestStreak:n.int({default:0,description:`Longest streak ever`}),lastActivityAt:n.dateTime({isOptional:!0,description:`Last learning activity`}),lastActivityDate:n.string({isOptional:!0,description:`Last activity date (YYYY-MM-DD)`}),freezesRemaining:n.int({default:0,description:`Streak freezes available`}),freezeUsedAt:n.dateTime({isOptional:!0,description:`When last freeze was used`}),streakHistory:n.json({isOptional:!0,description:`Historical streak data`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[e.unique([`learnerId`],{name:`streak_learner_unique`}),e.on([`currentStreak`]),e.on([`longestStreak`])]}),l=r({name:`DailyGoal`,description:`Daily XP goal tracking.`,schema:`lssm_learning`,map:`daily_goal`,fields:{id:n.id({description:`Unique goal identifier`}),learnerId:n.foreignKey({description:`Learner`}),date:n.string({description:`Date (YYYY-MM-DD)`}),targetXp:n.int({description:`Target XP for the day`}),currentXp:n.int({default:0,description:`XP earned today`}),isCompleted:n.boolean({default:!1,description:`Whether goal was met`}),completedAt:n.dateTime({isOptional:!0,description:`When goal was completed`}),xpBreakdown:n.json({isOptional:!0,description:`XP sources breakdown`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[e.unique([`learnerId`,`date`],{name:`daily_goal_unique`}),e.on([`date`,`isCompleted`])]}),u=r({name:`LeaderboardEntry`,description:`Leaderboard entry for a learner.`,schema:`lssm_learning`,map:`leaderboard_entry`,fields:{id:n.id({description:`Unique entry identifier`}),learnerId:n.foreignKey({description:`Learner`}),periodType:n.enum(`LeaderboardPeriod`,{description:`Period type`}),periodKey:n.string({description:`Period key (e.g., 2024-W01)`}),xp:n.int({default:0,description:`XP earned in period`}),rank:n.int({isOptional:!0,description:`Rank in leaderboard`}),lessonsCompleted:n.int({default:0,description:`Lessons completed`}),quizzesPassed:n.int({default:0,description:`Quizzes passed`}),cardsReviewed:n.int({default:0,description:`Cards reviewed`}),streakDays:n.int({default:0,description:`Streak days in period`}),league:n.string({isOptional:!0,description:`League tier`}),orgId:n.string({isOptional:!0,description:`Organization scope`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[e.unique([`learnerId`,`periodType`,`periodKey`],{name:`leaderboard_entry_unique`}),e.on([`periodType`,`periodKey`,`xp`]),e.on([`orgId`,`periodType`,`periodKey`,`xp`])],enums:[a]}),d=r({name:`Heart`,description:`Lives/hearts system for quiz attempts.`,schema:`lssm_learning`,map:`heart`,fields:{id:n.id({description:`Unique heart record identifier`}),learnerId:n.foreignKey({description:`Learner`}),current:n.int({default:5,description:`Current hearts`}),max:n.int({default:5,description:`Maximum hearts`}),lastRefillAt:n.dateTime({isOptional:!0,description:`Last refill time`}),nextRefillAt:n.dateTime({isOptional:!0,description:`Next refill time`}),refillIntervalMinutes:n.int({default:240,description:`Minutes between refills`}),infiniteUntil:n.dateTime({isOptional:!0,description:`Infinite hearts until`}),createdAt:n.createdAt(),updatedAt:n.updatedAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[e.unique([`learnerId`],{name:`heart_learner_unique`}),e.on([`nextRefillAt`])]}),f=r({name:`XPTransaction`,description:`Record of XP earned or spent.`,schema:`lssm_learning`,map:`xp_transaction`,fields:{id:n.id({description:`Unique transaction identifier`}),learnerId:n.foreignKey({description:`Learner`}),amount:n.int({description:`XP amount (positive = earned, negative = spent)`}),type:n.string({description:`Transaction type (lesson, quiz, streak, achievement, etc.)`}),sourceType:n.string({isOptional:!0,description:`Source entity type`}),sourceId:n.string({isOptional:!0,description:`Source entity ID`}),description:n.string({isOptional:!0,description:`Human-readable description`}),balanceAfter:n.int({description:`Total XP after transaction`}),createdAt:n.createdAt(),learner:n.belongsTo(`Learner`,[`learnerId`],[`id`],{onDelete:`Cascade`})},indexes:[e.on([`learnerId`,`createdAt`]),e.on([`type`]),e.on([`sourceType`,`sourceId`])]}),p=[o,s,c,l,u,d,f],m=[i,a];export{o as AchievementEntity,i as AchievementTypeEnum,l as DailyGoalEntity,d as HeartEntity,u as LeaderboardEntryEntity,a as LeaderboardPeriodEnum,s as LearnerAchievementEntity,c as StreakEntity,f as XPTransactionEntity,p as gamificationEntities,m as gamificationEnums};