@speakableio/core 0.1.103 → 0.1.106

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 (57) hide show
  1. package/dist/analytics.js +25 -329
  2. package/dist/analytics.js.map +1 -1
  3. package/dist/{assignment.model-Lu21tZCh.d.mts → assignment.model-DLMWAp0Y.d.ts} +1 -1
  4. package/dist/chunk-233VJDUF.js +149 -0
  5. package/dist/chunk-233VJDUF.js.map +1 -0
  6. package/dist/chunk-2CRI5MJP.js +225 -0
  7. package/dist/chunk-2CRI5MJP.js.map +1 -0
  8. package/dist/chunk-AWVUNWML.js +141 -0
  9. package/dist/chunk-AWVUNWML.js.map +1 -0
  10. package/dist/chunk-CJ5JXKII.js +129 -0
  11. package/dist/chunk-CJ5JXKII.js.map +1 -0
  12. package/dist/chunk-EEBMPASA.js +21 -0
  13. package/dist/chunk-EEBMPASA.js.map +1 -0
  14. package/dist/chunk-H5XNOXRC.js +11 -0
  15. package/dist/chunk-H5XNOXRC.js.map +1 -0
  16. package/dist/chunk-LZG3MTSH.js +53 -0
  17. package/dist/chunk-LZG3MTSH.js.map +1 -0
  18. package/dist/chunk-OLSTHM2U.js +154 -0
  19. package/dist/chunk-OLSTHM2U.js.map +1 -0
  20. package/dist/chunk-TQGDTKTE.js +13 -0
  21. package/dist/chunk-TQGDTKTE.js.map +1 -0
  22. package/dist/chunk-YKUMIPSO.js +212 -0
  23. package/dist/chunk-YKUMIPSO.js.map +1 -0
  24. package/dist/chunk-YMJRCINF.js +68 -0
  25. package/dist/chunk-YMJRCINF.js.map +1 -0
  26. package/dist/chunk-YO34TZYN.js +28 -0
  27. package/dist/chunk-YO34TZYN.js.map +1 -0
  28. package/dist/const.d.ts +331 -0
  29. package/dist/const.js +170 -162
  30. package/dist/const.js.map +1 -1
  31. package/dist/{hooks.d.mts → hooks.d.ts} +5 -5
  32. package/dist/hooks.js +35 -591
  33. package/dist/hooks.js.map +1 -1
  34. package/dist/index.native.js +52 -64
  35. package/dist/index.native.js.map +1 -1
  36. package/dist/{index.web.d.mts → index.web.d.ts} +3 -3
  37. package/dist/index.web.js +12 -427
  38. package/dist/index.web.js.map +1 -1
  39. package/dist/{models.d.mts → models.d.ts} +3 -3
  40. package/dist/models.js +8 -43
  41. package/dist/models.js.map +1 -1
  42. package/dist/{notification.constants-B72fb734.d.mts → notification.constants-Da4-_0kX.d.ts} +1 -1
  43. package/dist/{repos.d.mts → repos.d.ts} +4 -4
  44. package/dist/repos.js +13 -440
  45. package/dist/repos.js.map +1 -1
  46. package/dist/{utils.d.mts → utils.d.ts} +2 -2
  47. package/dist/utils.js +14 -174
  48. package/dist/utils.js.map +1 -1
  49. package/package.json +21 -25
  50. package/dist/assignment.model-Bcbxx8oI.d.mts +0 -299
  51. package/dist/const.d.mts +0 -26
  52. package/dist/index.native.d.mts +0 -591
  53. package/dist/index.native.mjs +0 -505
  54. package/dist/index.native.mjs.map +0 -1
  55. /package/dist/{analytics.d.mts → analytics.d.ts} +0 -0
  56. /package/dist/{assignment.constants-BIKM6fYi.d.mts → assignment.constants-BIKM6fYi.d.ts} +0 -0
  57. /package/dist/{card.constants-DhKFipX3.d.mts → card.constants-DhKFipX3.d.ts} +0 -0
@@ -0,0 +1,225 @@
1
+ // src/constants/speakable-plans.ts
2
+ var FEEDBACK_PLANS = {
3
+ FEEDBACK_TRANSCRIPT: "FEEDBACK_TRANSCRIPT",
4
+ // Transcript from the audio
5
+ FEEDBACK_SUMMARY: "FEEDBACK_SUMMARY",
6
+ // Chatty summary (Free plan)
7
+ FEEDBACK_GRAMMAR_INSIGHTS: "FEEDBACK_GRAMMAR_INSIGHTS",
8
+ // Grammar insights
9
+ FEEDBACK_SUGGESTED_RESPONSE: "FEEDBACK_SUGGESTED_RESPONSE",
10
+ // Suggested Response
11
+ FEEDBACK_RUBRIC: "FEEDBACK_RUBRIC",
12
+ // Suggested Response
13
+ FEEDBACK_GRADING_STANDARDS: "FEEDBACK_GRADING_STANDARDS",
14
+ // ACTFL / WIDA Estimate
15
+ FEEDBACK_TARGET_LANGUAGE: "FEEDBACK_TARGET_LANGUAGE",
16
+ // Ability to set the feedback language to the target language of the student
17
+ FEEDBACK_DISABLE_ALLOW_RETRIES: "FEEDBACK_DISABLE_ALLOW_RETRIES"
18
+ // Turn of allow retries
19
+ };
20
+ var AUTO_GRADING_PLANS = {
21
+ AUTO_GRADING_PASS_FAIL: "AUTO_GRADING_PASS_FAIL",
22
+ // Pass / fail grading
23
+ AUTO_GRADING_RUBRICS: "AUTO_GRADING_RUBRICS",
24
+ // Autograded rubrics
25
+ AUTO_GRADING_STANDARDS_BASED: "AUTO_GRADING_STANDARDS_BASED"
26
+ // Standards based grading
27
+ };
28
+ var COMMENTS_PLANS = {
29
+ COMMENTS_SUGGESTIONS: "COMMENTS_SUGGESTIONS"
30
+ // Comment suggestions
31
+ };
32
+ var AI_ASSISTANT_PLANS = {
33
+ AI_ASSISTANT_DOCUMENT_UPLOADS: "AI_ASSISTANT_DOCUMENT_UPLOADS",
34
+ // Allow document uploading
35
+ AI_ASSISTANT_UNLIMITED_USE: "AI_ASSISTANT_UNLIMITED_USE"
36
+ // Allow unlimited use of AI assistant. Otherwise, limits are used.
37
+ };
38
+ var ASSIGNMENT_SETTINGS_PLANS = {
39
+ ASSESSMENTS: "ASSESSMENTS",
40
+ // Ability to create assessment assignment types
41
+ GOOGLE_CLASSROOM_GRADE_PASSBACK: "GOOGLE_CLASSROOM_GRADE_PASSBACK"
42
+ // Assignment scores can sync with classroom
43
+ };
44
+ var ANALYTICS_PLANS = {
45
+ ANALYTICS_GRADEBOOK: "ANALYTICS_GRADEBOOK",
46
+ // Access to the gradebook page
47
+ ANALYTICS_CLASSROOM_ANALYTICS: "ANALYTICS_CLASSROOM_ANALYTICS",
48
+ // Access to the classroom analytics page
49
+ ANALYTICS_STUDENT_PROGRESS_REPORTS: "ANALYTICS_STUDENT_PROGRESS_REPORTS",
50
+ // Access to the panel that shows an individual student's progress and assignments
51
+ ANALYTICS_ASSIGNMENT_RESULTS: "ANALYTICS_ASSIGNMENT_RESULTS",
52
+ // Access to the assigment RESULTS page
53
+ ANALYTICS_ORGANIZATION: "ANALYTICS_ORGANIZATION"
54
+ // Access to the organization analytics panel (for permitted admins)
55
+ };
56
+ var SPACES_PLANS = {
57
+ SPACES_CREATE_SPACE: "SPACES_CREATE_SPACE",
58
+ // Ability to create spaces
59
+ SPACES_CHECK_POINTS: "SPACES_CHECK_POINTS"
60
+ // Feature not available yet. Ability to create checkpoints for spaces for data aggregation
61
+ };
62
+ var DISCOVER_PLANS = {
63
+ DISCOVER_ORGANIZATION_LIBRARY: "DISCOVER_ORGANIZATION_LIBRARY"
64
+ // Access to the organizations shared library
65
+ };
66
+ var INTEGRATIONS_PLANS = {
67
+ INTEGRATIONS_LTI: "INTEGRATIONS_LTI"
68
+ //Access to all LTI integrations (Canvas, Blackboard, Schoology, etc)
69
+ };
70
+ var MEDIA_AREA_PLANS = {
71
+ MEDIA_AREA_DOCUMENT_UPLOAD: "MEDIA_AREA_DOCUMENT_UPLOAD",
72
+ MEDIA_AREA_AUDIO_FILES: "MEDIA_AREA_AUDIO_FILES"
73
+ };
74
+ var FREE_PLAN = [];
75
+ var TEACHER_PRO_PLAN = [
76
+ FEEDBACK_PLANS.FEEDBACK_TRANSCRIPT,
77
+ FEEDBACK_PLANS.FEEDBACK_SUMMARY,
78
+ FEEDBACK_PLANS.FEEDBACK_TARGET_LANGUAGE,
79
+ AUTO_GRADING_PLANS.AUTO_GRADING_PASS_FAIL,
80
+ ANALYTICS_PLANS.ANALYTICS_GRADEBOOK,
81
+ SPACES_PLANS.SPACES_CREATE_SPACE
82
+ // AUTO_GRADING_PLANS.AUTO_GRADING_STANDARDS_BASED,
83
+ ];
84
+ var SCHOOL_STARTER = [
85
+ FEEDBACK_PLANS.FEEDBACK_TRANSCRIPT,
86
+ FEEDBACK_PLANS.FEEDBACK_SUMMARY,
87
+ FEEDBACK_PLANS.FEEDBACK_GRAMMAR_INSIGHTS,
88
+ FEEDBACK_PLANS.FEEDBACK_SUGGESTED_RESPONSE,
89
+ FEEDBACK_PLANS.FEEDBACK_RUBRIC,
90
+ FEEDBACK_PLANS.FEEDBACK_GRADING_STANDARDS,
91
+ FEEDBACK_PLANS.FEEDBACK_DISABLE_ALLOW_RETRIES,
92
+ FEEDBACK_PLANS.FEEDBACK_TARGET_LANGUAGE,
93
+ AUTO_GRADING_PLANS.AUTO_GRADING_PASS_FAIL,
94
+ AUTO_GRADING_PLANS.AUTO_GRADING_RUBRICS,
95
+ AUTO_GRADING_PLANS.AUTO_GRADING_STANDARDS_BASED,
96
+ AI_ASSISTANT_PLANS.AI_ASSISTANT_DOCUMENT_UPLOADS,
97
+ AI_ASSISTANT_PLANS.AI_ASSISTANT_UNLIMITED_USE,
98
+ // ASSIGNMENT_SETTINGS_PLANS.ASSESSMENTS,
99
+ ASSIGNMENT_SETTINGS_PLANS.GOOGLE_CLASSROOM_GRADE_PASSBACK,
100
+ ANALYTICS_PLANS.ANALYTICS_GRADEBOOK,
101
+ ANALYTICS_PLANS.ANALYTICS_STUDENT_PROGRESS_REPORTS,
102
+ ANALYTICS_PLANS.ANALYTICS_CLASSROOM_ANALYTICS,
103
+ // ANALYTICS_PLANS.ANALYTICS_ORGANIZATION,
104
+ SPACES_PLANS.SPACES_CREATE_SPACE,
105
+ SPACES_PLANS.SPACES_CHECK_POINTS,
106
+ // DISCOVER_PLANS.DISCOVER_ORGANIZATION_LIBRARY,
107
+ MEDIA_AREA_PLANS.MEDIA_AREA_DOCUMENT_UPLOAD,
108
+ MEDIA_AREA_PLANS.MEDIA_AREA_AUDIO_FILES
109
+ ];
110
+ var ORGANIZATION_PLAN = [
111
+ FEEDBACK_PLANS.FEEDBACK_TRANSCRIPT,
112
+ FEEDBACK_PLANS.FEEDBACK_SUMMARY,
113
+ FEEDBACK_PLANS.FEEDBACK_GRAMMAR_INSIGHTS,
114
+ FEEDBACK_PLANS.FEEDBACK_SUGGESTED_RESPONSE,
115
+ FEEDBACK_PLANS.FEEDBACK_RUBRIC,
116
+ FEEDBACK_PLANS.FEEDBACK_GRADING_STANDARDS,
117
+ FEEDBACK_PLANS.FEEDBACK_DISABLE_ALLOW_RETRIES,
118
+ FEEDBACK_PLANS.FEEDBACK_TARGET_LANGUAGE,
119
+ AUTO_GRADING_PLANS.AUTO_GRADING_PASS_FAIL,
120
+ AUTO_GRADING_PLANS.AUTO_GRADING_RUBRICS,
121
+ AUTO_GRADING_PLANS.AUTO_GRADING_STANDARDS_BASED,
122
+ AI_ASSISTANT_PLANS.AI_ASSISTANT_DOCUMENT_UPLOADS,
123
+ AI_ASSISTANT_PLANS.AI_ASSISTANT_UNLIMITED_USE,
124
+ ASSIGNMENT_SETTINGS_PLANS.ASSESSMENTS,
125
+ ASSIGNMENT_SETTINGS_PLANS.GOOGLE_CLASSROOM_GRADE_PASSBACK,
126
+ ANALYTICS_PLANS.ANALYTICS_GRADEBOOK,
127
+ ANALYTICS_PLANS.ANALYTICS_STUDENT_PROGRESS_REPORTS,
128
+ ANALYTICS_PLANS.ANALYTICS_CLASSROOM_ANALYTICS,
129
+ ANALYTICS_PLANS.ANALYTICS_ORGANIZATION,
130
+ SPACES_PLANS.SPACES_CREATE_SPACE,
131
+ SPACES_PLANS.SPACES_CHECK_POINTS,
132
+ DISCOVER_PLANS.DISCOVER_ORGANIZATION_LIBRARY,
133
+ MEDIA_AREA_PLANS.MEDIA_AREA_DOCUMENT_UPLOAD,
134
+ MEDIA_AREA_PLANS.MEDIA_AREA_AUDIO_FILES
135
+ ];
136
+ var SpeakablePlanTypes = {
137
+ basic: "basic",
138
+ teacher_pro: "teacher_pro",
139
+ school_starter: "school_starter",
140
+ organization: "organization",
141
+ // OLD PLANS
142
+ starter: "starter",
143
+ growth: "growth",
144
+ professional: "professional"
145
+ };
146
+ var SpeakablePermissionsMap = {
147
+ [SpeakablePlanTypes.basic]: FREE_PLAN,
148
+ [SpeakablePlanTypes.starter]: TEACHER_PRO_PLAN,
149
+ [SpeakablePlanTypes.teacher_pro]: TEACHER_PRO_PLAN,
150
+ [SpeakablePlanTypes.growth]: ORGANIZATION_PLAN,
151
+ [SpeakablePlanTypes.professional]: ORGANIZATION_PLAN,
152
+ [SpeakablePlanTypes.organization]: ORGANIZATION_PLAN,
153
+ [SpeakablePlanTypes.school_starter]: SCHOOL_STARTER
154
+ };
155
+ var SpeakablePlanHierarchy = [
156
+ SpeakablePlanTypes.basic,
157
+ SpeakablePlanTypes.starter,
158
+ SpeakablePlanTypes.teacher_pro,
159
+ SpeakablePlanTypes.growth,
160
+ SpeakablePlanTypes.professional,
161
+ SpeakablePlanTypes.school_starter,
162
+ SpeakablePlanTypes.organization
163
+ ];
164
+
165
+ // src/constants/web.constants.ts
166
+ var WEB_BASE_URL = "https://app.speakable.io";
167
+
168
+ // src/domains/notification/notification.constants.ts
169
+ var SPEAKABLE_NOTIFICATIONS = {
170
+ NEW_ASSIGNMENT: "new_assignment",
171
+ ASSESSMENT_SUBMITTED: "assessment_submitted",
172
+ ASSESSMENT_SCORED: "assessment_scored",
173
+ NEW_COMMENT: "NEW_COMMENT"
174
+ };
175
+ var SpeakableNotificationTypes = {
176
+ NEW_ASSIGNMENT: "NEW_ASSIGNMENT",
177
+ FEEDBACK_FROM_TEACHER: "FEEDBACK_FROM_TEACHER",
178
+ MESSAGE_FROM_STUDENT: "MESSAGE_FROM_STUDENT",
179
+ PHRASE_MARKED_CORRECT: "PHRASE_MARKED_CORRECT",
180
+ STUDENT_PROGRESS: "STUDENT_PROGRESS",
181
+ PLAYLIST_FOLLOWERS: "PLAYLIST_FOLLOWERS",
182
+ PLAYLIST_PLAYS: "PLAYLIST_PLAYS",
183
+ // New notifications
184
+ ASSESSMENT_SUBMITTED: "ASSESSMENT_SUBMITTED",
185
+ // Notification FOR TEACHER when student submits assessment
186
+ ASSESSMENT_SCORED: "ASSESSMENT_SCORED",
187
+ // Notification FOR STUDENT when teacher scores assessment
188
+ // Comment
189
+ NEW_COMMENT: "NEW_COMMENT"
190
+ };
191
+
192
+ // src/domains/assignment/score-practice.constants.ts
193
+ var SCORES_PRACTICE_COLLECTION = "users";
194
+ var SCORES_PRACTICE_SUBCOLLECTION = "practice";
195
+ var refsScoresPractice = {
196
+ practiceScores: (params) => `${SCORES_PRACTICE_COLLECTION}/${params.userId}/${SCORES_PRACTICE_SUBCOLLECTION}/${params.setId}`,
197
+ practiceScoreHistoryRefDoc: (params) => `${SCORES_PRACTICE_COLLECTION}/${params.userId}/${SCORES_PRACTICE_SUBCOLLECTION}/${params.setId}/attempts/${params.date}`
198
+ };
199
+
200
+ export {
201
+ FEEDBACK_PLANS,
202
+ AUTO_GRADING_PLANS,
203
+ COMMENTS_PLANS,
204
+ AI_ASSISTANT_PLANS,
205
+ ASSIGNMENT_SETTINGS_PLANS,
206
+ ANALYTICS_PLANS,
207
+ SPACES_PLANS,
208
+ DISCOVER_PLANS,
209
+ INTEGRATIONS_PLANS,
210
+ MEDIA_AREA_PLANS,
211
+ FREE_PLAN,
212
+ TEACHER_PRO_PLAN,
213
+ SCHOOL_STARTER,
214
+ ORGANIZATION_PLAN,
215
+ SpeakablePlanTypes,
216
+ SpeakablePermissionsMap,
217
+ SpeakablePlanHierarchy,
218
+ WEB_BASE_URL,
219
+ SPEAKABLE_NOTIFICATIONS,
220
+ SpeakableNotificationTypes,
221
+ SCORES_PRACTICE_COLLECTION,
222
+ SCORES_PRACTICE_SUBCOLLECTION,
223
+ refsScoresPractice
224
+ };
225
+ //# sourceMappingURL=chunk-2CRI5MJP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/constants/speakable-plans.ts","../src/constants/web.constants.ts","../src/domains/notification/notification.constants.ts","../src/domains/assignment/score-practice.constants.ts"],"sourcesContent":["export const FEEDBACK_PLANS = {\n FEEDBACK_TRANSCRIPT: 'FEEDBACK_TRANSCRIPT', // Transcript from the audio\n FEEDBACK_SUMMARY: 'FEEDBACK_SUMMARY', // Chatty summary (Free plan)\n FEEDBACK_GRAMMAR_INSIGHTS: 'FEEDBACK_GRAMMAR_INSIGHTS', // Grammar insights\n FEEDBACK_SUGGESTED_RESPONSE: 'FEEDBACK_SUGGESTED_RESPONSE', // Suggested Response\n FEEDBACK_RUBRIC: 'FEEDBACK_RUBRIC', // Suggested Response\n FEEDBACK_GRADING_STANDARDS: 'FEEDBACK_GRADING_STANDARDS', // ACTFL / WIDA Estimate\n FEEDBACK_TARGET_LANGUAGE: 'FEEDBACK_TARGET_LANGUAGE', // Ability to set the feedback language to the target language of the student\n FEEDBACK_DISABLE_ALLOW_RETRIES: 'FEEDBACK_DISABLE_ALLOW_RETRIES', // Turn of allow retries\n} as const\n\nexport const AUTO_GRADING_PLANS = {\n AUTO_GRADING_PASS_FAIL: 'AUTO_GRADING_PASS_FAIL', // Pass / fail grading\n AUTO_GRADING_RUBRICS: 'AUTO_GRADING_RUBRICS', // Autograded rubrics\n AUTO_GRADING_STANDARDS_BASED: 'AUTO_GRADING_STANDARDS_BASED', // Standards based grading\n} as const\n\nexport const COMMENTS_PLANS = {\n COMMENTS_SUGGESTIONS: 'COMMENTS_SUGGESTIONS', // Comment suggestions\n} as const\n\nexport const AI_ASSISTANT_PLANS = {\n AI_ASSISTANT_DOCUMENT_UPLOADS: 'AI_ASSISTANT_DOCUMENT_UPLOADS', // Allow document uploading\n AI_ASSISTANT_UNLIMITED_USE: 'AI_ASSISTANT_UNLIMITED_USE', // Allow unlimited use of AI assistant. Otherwise, limits are used.\n} as const\n\nexport const ASSIGNMENT_SETTINGS_PLANS = {\n ASSESSMENTS: 'ASSESSMENTS', // Ability to create assessment assignment types\n GOOGLE_CLASSROOM_GRADE_PASSBACK: 'GOOGLE_CLASSROOM_GRADE_PASSBACK', // Assignment scores can sync with classroom\n} as const\n\nexport const ANALYTICS_PLANS = {\n ANALYTICS_GRADEBOOK: 'ANALYTICS_GRADEBOOK', // Access to the gradebook page\n ANALYTICS_CLASSROOM_ANALYTICS: 'ANALYTICS_CLASSROOM_ANALYTICS', // Access to the classroom analytics page\n ANALYTICS_STUDENT_PROGRESS_REPORTS: 'ANALYTICS_STUDENT_PROGRESS_REPORTS', // Access to the panel that shows an individual student's progress and assignments\n ANALYTICS_ASSIGNMENT_RESULTS: 'ANALYTICS_ASSIGNMENT_RESULTS', // Access to the assigment RESULTS page\n ANALYTICS_ORGANIZATION: 'ANALYTICS_ORGANIZATION', // Access to the organization analytics panel (for permitted admins)\n} as const\n\nexport const SPACES_PLANS = {\n SPACES_CREATE_SPACE: 'SPACES_CREATE_SPACE', // Ability to create spaces\n SPACES_CHECK_POINTS: 'SPACES_CHECK_POINTS', // Feature not available yet. Ability to create checkpoints for spaces for data aggregation\n} as const\n\nexport const DISCOVER_PLANS = {\n DISCOVER_ORGANIZATION_LIBRARY: 'DISCOVER_ORGANIZATION_LIBRARY', // Access to the organizations shared library\n} as const\n\nexport const INTEGRATIONS_PLANS = {\n INTEGRATIONS_LTI: 'INTEGRATIONS_LTI', //Access to all LTI integrations (Canvas, Blackboard, Schoology, etc)\n} as const\n\nexport const MEDIA_AREA_PLANS = {\n MEDIA_AREA_DOCUMENT_UPLOAD: 'MEDIA_AREA_DOCUMENT_UPLOAD',\n MEDIA_AREA_AUDIO_FILES: 'MEDIA_AREA_AUDIO_FILES',\n} as const\n\nexport const FREE_PLAN = []\n\nexport const TEACHER_PRO_PLAN = [\n FEEDBACK_PLANS.FEEDBACK_TRANSCRIPT,\n FEEDBACK_PLANS.FEEDBACK_SUMMARY,\n FEEDBACK_PLANS.FEEDBACK_TARGET_LANGUAGE,\n AUTO_GRADING_PLANS.AUTO_GRADING_PASS_FAIL,\n ANALYTICS_PLANS.ANALYTICS_GRADEBOOK,\n SPACES_PLANS.SPACES_CREATE_SPACE,\n // AUTO_GRADING_PLANS.AUTO_GRADING_STANDARDS_BASED,\n]\n\nexport const SCHOOL_STARTER = [\n FEEDBACK_PLANS.FEEDBACK_TRANSCRIPT,\n FEEDBACK_PLANS.FEEDBACK_SUMMARY,\n FEEDBACK_PLANS.FEEDBACK_GRAMMAR_INSIGHTS,\n FEEDBACK_PLANS.FEEDBACK_SUGGESTED_RESPONSE,\n FEEDBACK_PLANS.FEEDBACK_RUBRIC,\n FEEDBACK_PLANS.FEEDBACK_GRADING_STANDARDS,\n FEEDBACK_PLANS.FEEDBACK_DISABLE_ALLOW_RETRIES,\n FEEDBACK_PLANS.FEEDBACK_TARGET_LANGUAGE,\n AUTO_GRADING_PLANS.AUTO_GRADING_PASS_FAIL,\n AUTO_GRADING_PLANS.AUTO_GRADING_RUBRICS,\n AUTO_GRADING_PLANS.AUTO_GRADING_STANDARDS_BASED,\n AI_ASSISTANT_PLANS.AI_ASSISTANT_DOCUMENT_UPLOADS,\n AI_ASSISTANT_PLANS.AI_ASSISTANT_UNLIMITED_USE,\n // ASSIGNMENT_SETTINGS_PLANS.ASSESSMENTS,\n ASSIGNMENT_SETTINGS_PLANS.GOOGLE_CLASSROOM_GRADE_PASSBACK,\n ANALYTICS_PLANS.ANALYTICS_GRADEBOOK,\n ANALYTICS_PLANS.ANALYTICS_STUDENT_PROGRESS_REPORTS,\n ANALYTICS_PLANS.ANALYTICS_CLASSROOM_ANALYTICS,\n // ANALYTICS_PLANS.ANALYTICS_ORGANIZATION,\n SPACES_PLANS.SPACES_CREATE_SPACE,\n SPACES_PLANS.SPACES_CHECK_POINTS,\n // DISCOVER_PLANS.DISCOVER_ORGANIZATION_LIBRARY,\n MEDIA_AREA_PLANS.MEDIA_AREA_DOCUMENT_UPLOAD,\n MEDIA_AREA_PLANS.MEDIA_AREA_AUDIO_FILES,\n]\n\nexport const ORGANIZATION_PLAN = [\n FEEDBACK_PLANS.FEEDBACK_TRANSCRIPT,\n FEEDBACK_PLANS.FEEDBACK_SUMMARY,\n FEEDBACK_PLANS.FEEDBACK_GRAMMAR_INSIGHTS,\n FEEDBACK_PLANS.FEEDBACK_SUGGESTED_RESPONSE,\n FEEDBACK_PLANS.FEEDBACK_RUBRIC,\n FEEDBACK_PLANS.FEEDBACK_GRADING_STANDARDS,\n FEEDBACK_PLANS.FEEDBACK_DISABLE_ALLOW_RETRIES,\n FEEDBACK_PLANS.FEEDBACK_TARGET_LANGUAGE,\n AUTO_GRADING_PLANS.AUTO_GRADING_PASS_FAIL,\n AUTO_GRADING_PLANS.AUTO_GRADING_RUBRICS,\n AUTO_GRADING_PLANS.AUTO_GRADING_STANDARDS_BASED,\n AI_ASSISTANT_PLANS.AI_ASSISTANT_DOCUMENT_UPLOADS,\n AI_ASSISTANT_PLANS.AI_ASSISTANT_UNLIMITED_USE,\n ASSIGNMENT_SETTINGS_PLANS.ASSESSMENTS,\n ASSIGNMENT_SETTINGS_PLANS.GOOGLE_CLASSROOM_GRADE_PASSBACK,\n ANALYTICS_PLANS.ANALYTICS_GRADEBOOK,\n ANALYTICS_PLANS.ANALYTICS_STUDENT_PROGRESS_REPORTS,\n ANALYTICS_PLANS.ANALYTICS_CLASSROOM_ANALYTICS,\n ANALYTICS_PLANS.ANALYTICS_ORGANIZATION,\n SPACES_PLANS.SPACES_CREATE_SPACE,\n SPACES_PLANS.SPACES_CHECK_POINTS,\n DISCOVER_PLANS.DISCOVER_ORGANIZATION_LIBRARY,\n MEDIA_AREA_PLANS.MEDIA_AREA_DOCUMENT_UPLOAD,\n MEDIA_AREA_PLANS.MEDIA_AREA_AUDIO_FILES,\n]\n\nexport const SpeakablePlanTypes = {\n basic: 'basic',\n teacher_pro: 'teacher_pro',\n school_starter: 'school_starter',\n organization: 'organization',\n // OLD PLANS\n starter: 'starter',\n growth: 'growth',\n professional: 'professional',\n} as const\n\nexport const SpeakablePermissionsMap = {\n [SpeakablePlanTypes.basic]: FREE_PLAN,\n [SpeakablePlanTypes.starter]: TEACHER_PRO_PLAN,\n [SpeakablePlanTypes.teacher_pro]: TEACHER_PRO_PLAN,\n [SpeakablePlanTypes.growth]: ORGANIZATION_PLAN,\n [SpeakablePlanTypes.professional]: ORGANIZATION_PLAN,\n [SpeakablePlanTypes.organization]: ORGANIZATION_PLAN,\n [SpeakablePlanTypes.school_starter]: SCHOOL_STARTER,\n} as const\n\nexport const SpeakablePlanHierarchy = [\n SpeakablePlanTypes.basic,\n SpeakablePlanTypes.starter,\n SpeakablePlanTypes.teacher_pro,\n SpeakablePlanTypes.growth,\n SpeakablePlanTypes.professional,\n SpeakablePlanTypes.school_starter,\n SpeakablePlanTypes.organization,\n] as const\n","export const WEB_BASE_URL = 'https://app.speakable.io'\n","export const SPEAKABLE_NOTIFICATIONS = {\n NEW_ASSIGNMENT: 'new_assignment',\n ASSESSMENT_SUBMITTED: 'assessment_submitted',\n ASSESSMENT_SCORED: 'assessment_scored',\n NEW_COMMENT: 'NEW_COMMENT',\n} as const\n\nexport type SpeakableNotificationType =\n (typeof SPEAKABLE_NOTIFICATIONS)[keyof typeof SPEAKABLE_NOTIFICATIONS]\n\nexport const SpeakableNotificationTypes = {\n NEW_ASSIGNMENT: 'NEW_ASSIGNMENT',\n FEEDBACK_FROM_TEACHER: 'FEEDBACK_FROM_TEACHER',\n MESSAGE_FROM_STUDENT: 'MESSAGE_FROM_STUDENT',\n PHRASE_MARKED_CORRECT: 'PHRASE_MARKED_CORRECT',\n STUDENT_PROGRESS: 'STUDENT_PROGRESS',\n PLAYLIST_FOLLOWERS: 'PLAYLIST_FOLLOWERS',\n PLAYLIST_PLAYS: 'PLAYLIST_PLAYS',\n\n // New notifications\n ASSESSMENT_SUBMITTED: 'ASSESSMENT_SUBMITTED', // Notification FOR TEACHER when student submits assessment\n ASSESSMENT_SCORED: 'ASSESSMENT_SCORED', // Notification FOR STUDENT when teacher scores assessment\n // Comment\n NEW_COMMENT: 'NEW_COMMENT',\n}\n","export const SCORES_PRACTICE_COLLECTION = 'users'\n\nexport const SCORES_PRACTICE_SUBCOLLECTION = 'practice'\n\nexport const refsScoresPractice = {\n practiceScores: (params: { userId: string; setId: string }) =>\n `${SCORES_PRACTICE_COLLECTION}/${params.userId}/${SCORES_PRACTICE_SUBCOLLECTION}/${params.setId}` as const,\n practiceScoreHistoryRefDoc: (params: { userId: string; setId: string; date: string }) =>\n `${SCORES_PRACTICE_COLLECTION}/${params.userId}/${SCORES_PRACTICE_SUBCOLLECTION}/${params.setId}/attempts/${params.date}` as const,\n}\n"],"mappings":";AAAO,IAAM,iBAAiB;AAAA,EAC5B,qBAAqB;AAAA;AAAA,EACrB,kBAAkB;AAAA;AAAA,EAClB,2BAA2B;AAAA;AAAA,EAC3B,6BAA6B;AAAA;AAAA,EAC7B,iBAAiB;AAAA;AAAA,EACjB,4BAA4B;AAAA;AAAA,EAC5B,0BAA0B;AAAA;AAAA,EAC1B,gCAAgC;AAAA;AAClC;AAEO,IAAM,qBAAqB;AAAA,EAChC,wBAAwB;AAAA;AAAA,EACxB,sBAAsB;AAAA;AAAA,EACtB,8BAA8B;AAAA;AAChC;AAEO,IAAM,iBAAiB;AAAA,EAC5B,sBAAsB;AAAA;AACxB;AAEO,IAAM,qBAAqB;AAAA,EAChC,+BAA+B;AAAA;AAAA,EAC/B,4BAA4B;AAAA;AAC9B;AAEO,IAAM,4BAA4B;AAAA,EACvC,aAAa;AAAA;AAAA,EACb,iCAAiC;AAAA;AACnC;AAEO,IAAM,kBAAkB;AAAA,EAC7B,qBAAqB;AAAA;AAAA,EACrB,+BAA+B;AAAA;AAAA,EAC/B,oCAAoC;AAAA;AAAA,EACpC,8BAA8B;AAAA;AAAA,EAC9B,wBAAwB;AAAA;AAC1B;AAEO,IAAM,eAAe;AAAA,EAC1B,qBAAqB;AAAA;AAAA,EACrB,qBAAqB;AAAA;AACvB;AAEO,IAAM,iBAAiB;AAAA,EAC5B,+BAA+B;AAAA;AACjC;AAEO,IAAM,qBAAqB;AAAA,EAChC,kBAAkB;AAAA;AACpB;AAEO,IAAM,mBAAmB;AAAA,EAC9B,4BAA4B;AAAA,EAC5B,wBAAwB;AAC1B;AAEO,IAAM,YAAY,CAAC;AAEnB,IAAM,mBAAmB;AAAA,EAC9B,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,aAAa;AAAA;AAEf;AAEO,IAAM,iBAAiB;AAAA,EAC5B,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA;AAAA,EAEnB,0BAA0B;AAAA,EAC1B,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA;AAAA,EAEhB,aAAa;AAAA,EACb,aAAa;AAAA;AAAA,EAEb,iBAAiB;AAAA,EACjB,iBAAiB;AACnB;AAEO,IAAM,oBAAoB;AAAA,EAC/B,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,aAAa;AAAA,EACb,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,iBAAiB;AACnB;AAEO,IAAM,qBAAqB;AAAA,EAChC,OAAO;AAAA,EACP,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,cAAc;AAAA;AAAA,EAEd,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAChB;AAEO,IAAM,0BAA0B;AAAA,EACrC,CAAC,mBAAmB,KAAK,GAAG;AAAA,EAC5B,CAAC,mBAAmB,OAAO,GAAG;AAAA,EAC9B,CAAC,mBAAmB,WAAW,GAAG;AAAA,EAClC,CAAC,mBAAmB,MAAM,GAAG;AAAA,EAC7B,CAAC,mBAAmB,YAAY,GAAG;AAAA,EACnC,CAAC,mBAAmB,YAAY,GAAG;AAAA,EACnC,CAAC,mBAAmB,cAAc,GAAG;AACvC;AAEO,IAAM,yBAAyB;AAAA,EACpC,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AACrB;;;ACxJO,IAAM,eAAe;;;ACArB,IAAM,0BAA0B;AAAA,EACrC,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,aAAa;AACf;AAKO,IAAM,6BAA6B;AAAA,EACxC,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA;AAAA,EAGhB,sBAAsB;AAAA;AAAA,EACtB,mBAAmB;AAAA;AAAA;AAAA,EAEnB,aAAa;AACf;;;ACxBO,IAAM,6BAA6B;AAEnC,IAAM,gCAAgC;AAEtC,IAAM,qBAAqB;AAAA,EAChC,gBAAgB,CAAC,WACf,GAAG,0BAA0B,IAAI,OAAO,MAAM,IAAI,6BAA6B,IAAI,OAAO,KAAK;AAAA,EACjG,4BAA4B,CAAC,WAC3B,GAAG,0BAA0B,IAAI,OAAO,MAAM,IAAI,6BAA6B,IAAI,OAAO,KAAK,aAAa,OAAO,IAAI;AAC3H;","names":[]}
@@ -0,0 +1,141 @@
1
+ // src/domains/assignment/assignment.constants.ts
2
+ var AssignmentAnalyticsType = /* @__PURE__ */ ((AssignmentAnalyticsType2) => {
3
+ AssignmentAnalyticsType2["Macro"] = "macro";
4
+ AssignmentAnalyticsType2["Gradebook"] = "gradebook";
5
+ AssignmentAnalyticsType2["Cards"] = "cards";
6
+ AssignmentAnalyticsType2["Student"] = "student";
7
+ AssignmentAnalyticsType2["StudentSummary"] = "student_summary";
8
+ AssignmentAnalyticsType2["All"] = "all";
9
+ return AssignmentAnalyticsType2;
10
+ })(AssignmentAnalyticsType || {});
11
+ var ASSIGNMENT_ANALYTICS_TYPES = [
12
+ "macro" /* Macro */,
13
+ "gradebook" /* Gradebook */,
14
+ "cards" /* Cards */,
15
+ "student" /* Student */,
16
+ "student_summary" /* StudentSummary */
17
+ ];
18
+ var ASSIGNMENTS_COLLECTION = "assignments";
19
+ var ANALYTICS_SUBCOLLECTION = "analytics";
20
+ var SCORES_SUBCOLLECTION = "scores";
21
+ var refsAssignmentFiresotre = {
22
+ allAssignments: () => ASSIGNMENTS_COLLECTION,
23
+ assignment: (params) => `${ASSIGNMENTS_COLLECTION}/${params.id}`,
24
+ assignmentAllAnalytics: (params) => `${ASSIGNMENTS_COLLECTION}/${params.id}/${ANALYTICS_SUBCOLLECTION}`,
25
+ assignmentAnalytics: (params) => `${ASSIGNMENTS_COLLECTION}/${params.id}/${ANALYTICS_SUBCOLLECTION}/${params.type}`,
26
+ assignmentScores: (params) => `${ASSIGNMENTS_COLLECTION}/${params.id}/${SCORES_SUBCOLLECTION}/${params.userId}`
27
+ };
28
+
29
+ // src/domains/cards/card.constants.ts
30
+ var FeedbackTypesCard = /* @__PURE__ */ ((FeedbackTypesCard2) => {
31
+ FeedbackTypesCard2["SuggestedResponse"] = "suggested_response";
32
+ FeedbackTypesCard2["Wida"] = "wida";
33
+ FeedbackTypesCard2["GrammarInsights"] = "grammar_insights";
34
+ FeedbackTypesCard2["Actfl"] = "actfl";
35
+ FeedbackTypesCard2["ProficiencyLevel"] = "proficiency_level";
36
+ return FeedbackTypesCard2;
37
+ })(FeedbackTypesCard || {});
38
+ var LeniencyCard = /* @__PURE__ */ ((LeniencyCard2) => {
39
+ LeniencyCard2["CONFIDENCE"] = "confidence";
40
+ LeniencyCard2["EASY"] = "easy";
41
+ LeniencyCard2["NORMAL"] = "normal";
42
+ LeniencyCard2["HARD"] = "hard";
43
+ return LeniencyCard2;
44
+ })(LeniencyCard || {});
45
+ var LENIENCY_OPTIONS = [
46
+ {
47
+ label: "Build Confidence - most lenient",
48
+ value: "confidence" /* CONFIDENCE */
49
+ },
50
+ {
51
+ label: "Very Lenient",
52
+ value: "easy" /* EASY */
53
+ },
54
+ {
55
+ label: "Normal",
56
+ value: "normal" /* NORMAL */
57
+ },
58
+ {
59
+ label: "No leniency - most strict",
60
+ value: "hard" /* HARD */
61
+ }
62
+ ];
63
+ var STUDENT_LEVELS_OPTIONS = [
64
+ {
65
+ label: "Beginner",
66
+ description: "Beginner Level: Just starting out. Can say a few basic words and phrases.",
67
+ value: "beginner"
68
+ },
69
+ {
70
+ label: "Elementary",
71
+ description: "Elementary Level: Can understand simple sentences and have very basic conversations.",
72
+ value: "elementary"
73
+ },
74
+ {
75
+ label: "Intermediate",
76
+ description: "Intermediate Level: Can talk about everyday topics and handle common situations.",
77
+ value: "intermediate"
78
+ },
79
+ {
80
+ label: "Advanced",
81
+ description: "Advanced Level: Can speak and understand with ease, and explain ideas clearly.",
82
+ value: "advanced"
83
+ },
84
+ {
85
+ label: "Fluent",
86
+ description: "Fluent Level: Speaks naturally and easily. Can use the language in work or school settings.",
87
+ value: "fluent"
88
+ },
89
+ {
90
+ label: "Native-like",
91
+ description: "Native-like Level: Understands and speaks like a native. Can discuss complex ideas accurately.",
92
+ value: "nativeLike"
93
+ }
94
+ ];
95
+ var BASE_RESPOND_FIELD_VALUES = {
96
+ title: "",
97
+ allowRetries: true,
98
+ respondTime: 180,
99
+ maxCharacters: 1e3
100
+ };
101
+ var BASE_REPEAT_FIELD_VALUES = {
102
+ repeat: 1
103
+ };
104
+ var BASE_MULTIPLE_CHOICE_FIELD_VALUES = {
105
+ MCQType: "single",
106
+ answer: ["A"],
107
+ choices: [
108
+ { option: "A", value: "Option A" },
109
+ { option: "B", value: "Option B" },
110
+ { option: "C", value: "Option C" }
111
+ ]
112
+ };
113
+ var VerificationCardStatus = /* @__PURE__ */ ((VerificationCardStatus2) => {
114
+ VerificationCardStatus2["VERIFIED"] = "VERIFIED";
115
+ VerificationCardStatus2["WARNING"] = "WARNING";
116
+ VerificationCardStatus2["NOT_RECOMMENDED"] = "NOT_RECOMMENDED";
117
+ VerificationCardStatus2["NOT_WORKING"] = "NOT_WORKING";
118
+ VerificationCardStatus2["NOT_CHECKED"] = "NOT_CHECKED";
119
+ return VerificationCardStatus2;
120
+ })(VerificationCardStatus || {});
121
+ var CARDS_COLLECTION = "flashcards";
122
+ var refsCardsFiresotre = {
123
+ allCards: CARDS_COLLECTION,
124
+ card: (id) => `${CARDS_COLLECTION}/${id}`
125
+ };
126
+
127
+ export {
128
+ AssignmentAnalyticsType,
129
+ ASSIGNMENT_ANALYTICS_TYPES,
130
+ refsAssignmentFiresotre,
131
+ FeedbackTypesCard,
132
+ LeniencyCard,
133
+ LENIENCY_OPTIONS,
134
+ STUDENT_LEVELS_OPTIONS,
135
+ BASE_RESPOND_FIELD_VALUES,
136
+ BASE_REPEAT_FIELD_VALUES,
137
+ BASE_MULTIPLE_CHOICE_FIELD_VALUES,
138
+ VerificationCardStatus,
139
+ refsCardsFiresotre
140
+ };
141
+ //# sourceMappingURL=chunk-AWVUNWML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domains/assignment/assignment.constants.ts","../src/domains/cards/card.constants.ts"],"sourcesContent":["export enum AssignmentAnalyticsType {\n Macro = 'macro',\n Gradebook = 'gradebook',\n Cards = 'cards',\n Student = 'student',\n StudentSummary = 'student_summary',\n All = 'all',\n}\n\nexport const ASSIGNMENT_ANALYTICS_TYPES = [\n AssignmentAnalyticsType.Macro,\n AssignmentAnalyticsType.Gradebook,\n AssignmentAnalyticsType.Cards,\n AssignmentAnalyticsType.Student,\n AssignmentAnalyticsType.StudentSummary,\n]\n\nconst ASSIGNMENTS_COLLECTION = 'assignments'\nconst ANALYTICS_SUBCOLLECTION = 'analytics'\nconst SCORES_SUBCOLLECTION = 'scores'\n\nexport type RefsAssignmentFiresotre =\n `${typeof ASSIGNMENTS_COLLECTION}/${string}${`/${typeof ANALYTICS_SUBCOLLECTION}/${string}` | `/${typeof SCORES_SUBCOLLECTION}/${string}` | ''}`\n\nexport const refsAssignmentFiresotre = {\n allAssignments: () => ASSIGNMENTS_COLLECTION,\n assignment: (params: { id: string }) => `${ASSIGNMENTS_COLLECTION}/${params.id}` as const,\n assignmentAllAnalytics: (params: { id: string }) =>\n `${ASSIGNMENTS_COLLECTION}/${params.id}/${ANALYTICS_SUBCOLLECTION}` as const,\n assignmentAnalytics: (params: { id: string; type: string }) =>\n `${ASSIGNMENTS_COLLECTION}/${params.id}/${ANALYTICS_SUBCOLLECTION}/${params.type}` as const,\n assignmentScores: (params: { id: string; userId: string }) =>\n `${ASSIGNMENTS_COLLECTION}/${params.id}/${SCORES_SUBCOLLECTION}/${params.userId}` as const,\n}\n","/* eslint-disable @typescript-eslint/naming-convention */\n\nexport enum FeedbackTypesCard {\n SuggestedResponse = 'suggested_response',\n Wida = 'wida',\n GrammarInsights = 'grammar_insights',\n Actfl = 'actfl',\n ProficiencyLevel = 'proficiency_level',\n}\n\nexport enum LeniencyCard {\n CONFIDENCE = 'confidence',\n EASY = 'easy',\n NORMAL = 'normal',\n HARD = 'hard',\n}\n\nexport const LENIENCY_OPTIONS = [\n {\n label: 'Build Confidence - most lenient',\n value: LeniencyCard.CONFIDENCE,\n },\n {\n label: 'Very Lenient',\n value: LeniencyCard.EASY,\n },\n {\n label: 'Normal',\n value: LeniencyCard.NORMAL,\n },\n {\n label: 'No leniency - most strict',\n value: LeniencyCard.HARD,\n },\n]\n\nexport const STUDENT_LEVELS_OPTIONS = [\n {\n label: 'Beginner',\n description: 'Beginner Level: Just starting out. Can say a few basic words and phrases.',\n value: 'beginner',\n },\n {\n label: 'Elementary',\n description:\n 'Elementary Level: Can understand simple sentences and have very basic conversations.',\n value: 'elementary',\n },\n {\n label: 'Intermediate',\n description: 'Intermediate Level: Can talk about everyday topics and handle common situations.',\n value: 'intermediate',\n },\n {\n label: 'Advanced',\n description: 'Advanced Level: Can speak and understand with ease, and explain ideas clearly.',\n value: 'advanced',\n },\n {\n label: 'Fluent',\n description:\n 'Fluent Level: Speaks naturally and easily. Can use the language in work or school settings.',\n value: 'fluent',\n },\n {\n label: 'Native-like',\n description:\n 'Native-like Level: Understands and speaks like a native. Can discuss complex ideas accurately.',\n value: 'nativeLike',\n },\n]\n\nexport const BASE_RESPOND_FIELD_VALUES = {\n title: '',\n allowRetries: true,\n respondTime: 180,\n maxCharacters: 1000,\n}\n\nexport const BASE_REPEAT_FIELD_VALUES = {\n repeat: 1,\n}\n\nexport const BASE_MULTIPLE_CHOICE_FIELD_VALUES = {\n MCQType: 'single',\n answer: ['A'],\n choices: [\n { option: 'A', value: 'Option A' },\n { option: 'B', value: 'Option B' },\n { option: 'C', value: 'Option C' },\n ],\n}\n\nexport enum VerificationCardStatus {\n VERIFIED = 'VERIFIED',\n WARNING = 'WARNING',\n NOT_RECOMMENDED = 'NOT_RECOMMENDED',\n NOT_WORKING = 'NOT_WORKING',\n NOT_CHECKED = 'NOT_CHECKED',\n}\n\nconst CARDS_COLLECTION = 'flashcards'\n\nexport type RefsCardsFiresotre = `${typeof CARDS_COLLECTION}/${string}`\n\nexport const refsCardsFiresotre = {\n allCards: CARDS_COLLECTION,\n card: (id: string) => `${CARDS_COLLECTION}/${id}` as const,\n}\n"],"mappings":"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","names":["AssignmentAnalyticsType","FeedbackTypesCard","LeniencyCard","VerificationCardStatus"]}
@@ -0,0 +1,129 @@
1
+ // src/lib/firebase/api.ts
2
+ var FirebaseAPI = class _FirebaseAPI {
3
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
4
+ constructor() {
5
+ this.config = null;
6
+ }
7
+ static getInstance() {
8
+ if (!_FirebaseAPI.instance) {
9
+ _FirebaseAPI.instance = new _FirebaseAPI();
10
+ }
11
+ return _FirebaseAPI.instance;
12
+ }
13
+ initialize(config) {
14
+ this.config = config;
15
+ }
16
+ get db() {
17
+ if (!this.config) throw new Error("Firebase API not initialized");
18
+ return this.config.db;
19
+ }
20
+ get helpers() {
21
+ if (!this.config) throw new Error("Firebase API not initialized");
22
+ return this.config.helpers;
23
+ }
24
+ get httpsCallable() {
25
+ var _a;
26
+ return (_a = this.config) == null ? void 0 : _a.httpsCallable;
27
+ }
28
+ logEvent(name, data) {
29
+ var _a;
30
+ (_a = this.config) == null ? void 0 : _a.logEvent(name, data);
31
+ }
32
+ accessQueryConstraints() {
33
+ const { query, orderBy, limit, startAt, startAfter, endAt, endBefore, where, increment } = this.helpers;
34
+ return {
35
+ query,
36
+ orderBy,
37
+ limit,
38
+ startAt,
39
+ startAfter,
40
+ endAt,
41
+ endBefore,
42
+ where,
43
+ increment
44
+ };
45
+ }
46
+ accessHelpers() {
47
+ const { doc, collection, writeBatch, serverTimestamp, setDoc } = this.helpers;
48
+ return {
49
+ doc: (path) => doc(this.db, path),
50
+ collection: (path) => collection(this.db, path),
51
+ writeBatch: () => writeBatch(this.db),
52
+ serverTimestamp,
53
+ setDoc
54
+ };
55
+ }
56
+ async getDoc(path) {
57
+ const { getDoc, doc } = this.helpers;
58
+ const docRef = doc(this.db, path);
59
+ const docSnap = await getDoc(docRef);
60
+ const data = docSnap.exists() ? {
61
+ ...docSnap.data(),
62
+ id: docSnap.id
63
+ } : null;
64
+ return {
65
+ id: docSnap.id,
66
+ data
67
+ };
68
+ }
69
+ async getDocs(path, ...queryConstraints) {
70
+ const { getDocs, query, collection } = this.helpers;
71
+ const collectionRef = collection(this.db, path);
72
+ const q = queryConstraints.length > 0 ? query(collectionRef, ...queryConstraints) : collectionRef;
73
+ const querySnapshot = await getDocs(q);
74
+ const data = querySnapshot.docs.map((doc) => ({
75
+ data: doc.data(),
76
+ id: doc.id
77
+ }));
78
+ return {
79
+ data,
80
+ querySnapshot,
81
+ empty: querySnapshot.empty
82
+ };
83
+ }
84
+ async addDoc(path, data) {
85
+ const { addDoc, collection } = this.helpers;
86
+ const collectionRef = collection(this.db, path);
87
+ const docRef = await addDoc(collectionRef, data);
88
+ return {
89
+ ...data,
90
+ id: docRef.id
91
+ };
92
+ }
93
+ async setDoc(path, data, options = {}) {
94
+ const { setDoc, doc } = this.helpers;
95
+ const docRef = doc(this.db, path);
96
+ await setDoc(docRef, data, options);
97
+ }
98
+ async updateDoc(path, data) {
99
+ const { updateDoc, doc } = this.helpers;
100
+ const docRef = doc(this.db, path);
101
+ await updateDoc(docRef, data);
102
+ }
103
+ async deleteDoc(path) {
104
+ const { deleteDoc, doc } = this.helpers;
105
+ const docRef = doc(this.db, path);
106
+ await deleteDoc(docRef);
107
+ }
108
+ async runTransaction(updateFunction) {
109
+ const { runTransaction } = this.helpers;
110
+ return runTransaction(this.db, updateFunction);
111
+ }
112
+ async runBatch(operations) {
113
+ const { writeBatch } = this.helpers;
114
+ const batch = writeBatch(this.db);
115
+ await Promise.all(operations.map((op) => op()));
116
+ await batch.commit();
117
+ }
118
+ writeBatch() {
119
+ const { writeBatch } = this.helpers;
120
+ const batch = writeBatch(this.db);
121
+ return batch;
122
+ }
123
+ };
124
+ var api = FirebaseAPI.getInstance();
125
+
126
+ export {
127
+ api
128
+ };
129
+ //# sourceMappingURL=chunk-CJ5JXKII.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/firebase/api.ts"],"sourcesContent":["import { type CallableFunction, type FirestoreHelpers } from '@core/types/firebase.types'\nimport {\n type SetOptions,\n type DocumentData,\n type QueryConstraint,\n type WithFieldValue,\n type Firestore,\n} from 'firebase/firestore'\n\ninterface FirebaseConfig {\n db: Firestore\n helpers: FirestoreHelpers\n httpsCallable: (name: string) => CallableFunction\n logEvent: (name: string, data: any) => void\n}\n\ntype FirebasePath = string\n\nexport class FirebaseAPI {\n private static instance: FirebaseAPI\n private config: FirebaseConfig | null = null\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n private constructor() {\n // Private constructor for singleton pattern\n }\n\n static getInstance(): FirebaseAPI {\n if (!FirebaseAPI.instance) {\n FirebaseAPI.instance = new FirebaseAPI()\n }\n\n return FirebaseAPI.instance\n }\n\n initialize(config: FirebaseConfig) {\n this.config = config\n }\n\n get db() {\n if (!this.config) throw new Error('Firebase API not initialized')\n\n return this.config.db\n }\n\n get helpers() {\n if (!this.config) throw new Error('Firebase API not initialized')\n\n return this.config.helpers\n }\n\n get httpsCallable() {\n return this.config?.httpsCallable\n }\n\n logEvent(name: string, data: any) {\n this.config?.logEvent(name, data)\n }\n\n accessQueryConstraints() {\n const { query, orderBy, limit, startAt, startAfter, endAt, endBefore, where, increment } =\n this.helpers\n\n return {\n query,\n orderBy,\n limit,\n startAt,\n startAfter,\n endAt,\n endBefore,\n where,\n increment,\n }\n }\n\n accessHelpers() {\n const { doc, collection, writeBatch, serverTimestamp, setDoc } = this.helpers\n\n return {\n doc: (path: FirebasePath) => doc(this.db, path),\n collection: (path: FirebasePath) => collection(this.db, path),\n writeBatch: () => writeBatch(this.db),\n serverTimestamp: serverTimestamp,\n setDoc: setDoc,\n }\n }\n\n async getDoc<T>(path: FirebasePath) {\n const { getDoc, doc } = this.helpers\n\n const docRef = doc(this.db, path)\n const docSnap = await getDoc(docRef)\n\n const data = docSnap.exists()\n ? ({\n ...docSnap.data(),\n id: docSnap.id,\n } as T)\n : null\n\n return {\n id: docSnap.id,\n data,\n }\n }\n\n async getDocs<T>(path: FirebasePath, ...queryConstraints: QueryConstraint[]) {\n const { getDocs, query, collection } = this.helpers\n const collectionRef = collection(this.db, path)\n const q =\n queryConstraints.length > 0 ? query(collectionRef, ...queryConstraints) : collectionRef\n\n const querySnapshot = await getDocs(q)\n\n const data = querySnapshot.docs.map(doc => ({\n data: doc.data() as T,\n id: doc.id,\n }))\n\n return {\n data: data as unknown as (T & {\n id: string\n })[],\n querySnapshot,\n empty: querySnapshot.empty,\n }\n }\n\n async addDoc<T extends WithFieldValue<DocumentData>>(\n path: FirebasePath,\n data: T,\n ): Promise<{ id: string } & T> {\n const { addDoc, collection } = this.helpers\n const collectionRef = collection(this.db, path)\n const docRef = await addDoc(collectionRef, data)\n\n return {\n ...data,\n id: docRef.id,\n }\n }\n\n async setDoc<T extends WithFieldValue<DocumentData>>(\n path: FirebasePath,\n data: T,\n options: SetOptions = {},\n ): Promise<void> {\n const { setDoc, doc } = this.helpers\n const docRef = doc(this.db, path)\n\n await setDoc(docRef, data, options)\n }\n\n async updateDoc(path: FirebasePath, data: any): Promise<void> {\n const { updateDoc, doc } = this.helpers\n\n const docRef = doc(this.db, path)\n\n await updateDoc(docRef, data)\n }\n\n async deleteDoc(path: FirebasePath): Promise<void> {\n const { deleteDoc, doc } = this.helpers\n const docRef = doc(this.db, path)\n\n await deleteDoc(docRef)\n }\n\n async runTransaction<T>(updateFunction: (transaction: any) => Promise<T>): Promise<T> {\n const { runTransaction } = this.helpers\n\n return runTransaction(this.db, updateFunction)\n }\n\n async runBatch(operations: (() => Promise<void>)[]): Promise<void> {\n const { writeBatch } = this.helpers\n const batch = writeBatch(this.db)\n\n await Promise.all(operations.map(op => op()))\n await batch.commit()\n }\n\n writeBatch() {\n const { writeBatch } = this.helpers\n\n const batch = writeBatch(this.db)\n\n return batch\n }\n}\n\nexport const api = FirebaseAPI.getInstance()\n"],"mappings":"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","names":[]}
@@ -0,0 +1,21 @@
1
+ import {
2
+ withErrorHandler
3
+ } from "./chunk-233VJDUF.js";
4
+ import {
5
+ refsSetsFirestore
6
+ } from "./chunk-H5XNOXRC.js";
7
+ import {
8
+ api
9
+ } from "./chunk-CJ5JXKII.js";
10
+
11
+ // src/domains/sets/services/get-set.service.ts
12
+ async function _getSet({ setId }) {
13
+ const response = await api.getDoc(refsSetsFirestore.set(setId));
14
+ return response.data;
15
+ }
16
+ var getSet = withErrorHandler(_getSet, "getSet");
17
+
18
+ export {
19
+ getSet
20
+ };
21
+ //# sourceMappingURL=chunk-EEBMPASA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domains/sets/services/get-set.service.ts"],"sourcesContent":["import { api } from '@core/lib/firebase/api'\nimport { withErrorHandler } from '@core/utils/error-handler'\n\nimport { refsSetsFirestore } from '../set.constants'\nimport { type SetWithId } from '../set.model'\n\nasync function _getSet({ setId }: { setId: string }) {\n const response = await api.getDoc<SetWithId>(refsSetsFirestore.set(setId))\n\n return response.data\n}\n\nexport const getSet = withErrorHandler(_getSet, 'getSet')\n"],"mappings":";;;;;;;;;;;AAMA,eAAe,QAAQ,EAAE,MAAM,GAAsB;AACnD,QAAM,WAAW,MAAM,IAAI,OAAkB,kBAAkB,IAAI,KAAK,CAAC;AAEzE,SAAO,SAAS;AAClB;AAEO,IAAM,SAAS,iBAAiB,SAAS,QAAQ;","names":[]}
@@ -0,0 +1,11 @@
1
+ // src/domains/sets/set.constants.ts
2
+ var SETS_COLLECTION = "sets";
3
+ var refsSetsFirestore = {
4
+ allSets: SETS_COLLECTION,
5
+ set: (id) => `${SETS_COLLECTION}/${id}`
6
+ };
7
+
8
+ export {
9
+ refsSetsFirestore
10
+ };
11
+ //# sourceMappingURL=chunk-H5XNOXRC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domains/sets/set.constants.ts"],"sourcesContent":["const SETS_COLLECTION = 'sets'\n\nexport type RefsSetsFirestore = `${typeof SETS_COLLECTION}/${string}`\n\nexport const refsSetsFirestore = {\n allSets: SETS_COLLECTION,\n set: (id: string) => `${SETS_COLLECTION}/${id}` as const,\n}\n"],"mappings":";AAAA,IAAM,kBAAkB;AAIjB,IAAM,oBAAoB;AAAA,EAC/B,SAAS;AAAA,EACT,KAAK,CAAC,OAAe,GAAG,eAAe,IAAI,EAAE;AAC/C;","names":[]}
@@ -0,0 +1,53 @@
1
+ // src/domains/cards/card.model.ts
2
+ var ActivityPageType = /* @__PURE__ */ ((ActivityPageType2) => {
3
+ ActivityPageType2["READ_REPEAT"] = "READ_REPEAT";
4
+ ActivityPageType2["VIDEO"] = "VIDEO";
5
+ ActivityPageType2["TEXT"] = "TEXT";
6
+ ActivityPageType2["READ_RESPOND"] = "READ_RESPOND";
7
+ ActivityPageType2["FREE_RESPONSE"] = "FREE_RESPONSE";
8
+ ActivityPageType2["REPEAT"] = "REPEAT";
9
+ ActivityPageType2["RESPOND"] = "RESPOND";
10
+ ActivityPageType2["RESPOND_WRITE"] = "RESPOND_WRITE";
11
+ ActivityPageType2["TEXT_TO_SPEECH"] = "TEXT_TO_SPEECH";
12
+ ActivityPageType2["MULTIPLE_CHOICE"] = "MULTIPLE_CHOICE";
13
+ ActivityPageType2["PODCAST"] = "PODCAST";
14
+ ActivityPageType2["MEDIA_PAGE"] = "MEDIA_PAGE";
15
+ ActivityPageType2["WRITE"] = "WRITE";
16
+ ActivityPageType2["SHORT_ANSWER"] = "SHORT_ANSWER";
17
+ ActivityPageType2["SHORT_STORY"] = "SHORT_STORY";
18
+ ActivityPageType2["SPEAK"] = "SPEAK";
19
+ ActivityPageType2["CONVERSATION"] = "CONVERSATION";
20
+ ActivityPageType2["CONVERSATION_WRITE"] = "CONVERSATION_WRITE";
21
+ ActivityPageType2["DIALOGUE"] = "DIALOGUE";
22
+ ActivityPageType2["INSTRUCTION"] = "INSTRUCTION";
23
+ ActivityPageType2["LISTEN"] = "LISTEN";
24
+ ActivityPageType2["READ"] = "READ";
25
+ ActivityPageType2["ANSWER"] = "ANSWER";
26
+ return ActivityPageType2;
27
+ })(ActivityPageType || {});
28
+ var RESPOND_PAGE_ACTIVITY_TYPES = [
29
+ "READ_RESPOND" /* READ_RESPOND */,
30
+ "RESPOND" /* RESPOND */,
31
+ "RESPOND_WRITE" /* RESPOND_WRITE */,
32
+ "FREE_RESPONSE" /* FREE_RESPONSE */
33
+ ];
34
+ var MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES = ["MULTIPLE_CHOICE" /* MULTIPLE_CHOICE */];
35
+ var REPEAT_PAGE_ACTIVITY_TYPES = ["READ_REPEAT" /* READ_REPEAT */, "REPEAT" /* REPEAT */];
36
+ var RESPOND_WRITE_PAGE_ACTIVITY_TYPES = [
37
+ "RESPOND_WRITE" /* RESPOND_WRITE */,
38
+ "FREE_RESPONSE" /* FREE_RESPONSE */
39
+ ];
40
+ var RESPOND_AUDIO_PAGE_ACTIVITY_TYPES = [
41
+ "RESPOND" /* RESPOND */,
42
+ "READ_RESPOND" /* READ_RESPOND */
43
+ ];
44
+
45
+ export {
46
+ ActivityPageType,
47
+ RESPOND_PAGE_ACTIVITY_TYPES,
48
+ MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES,
49
+ REPEAT_PAGE_ACTIVITY_TYPES,
50
+ RESPOND_WRITE_PAGE_ACTIVITY_TYPES,
51
+ RESPOND_AUDIO_PAGE_ACTIVITY_TYPES
52
+ };
53
+ //# sourceMappingURL=chunk-LZG3MTSH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/domains/cards/card.model.ts"],"sourcesContent":["import { type VerificationCardStatus } from './card.constants'\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport interface PageActivityWithId extends PageActivity {\n id: string\n}\n\nexport interface PageActivity {\n owners: string[]\n checked?: boolean\n completed?: boolean\n media_area_id?: string | null\n media_area_layout?: 'left' | 'right' | null\n score?: number\n verificationStatus?: VerificationCardStatus\n native_text?: string\n repeat?: number\n language?: string | null\n image?: {\n path?: string | null\n url?: string\n }\n audio?: {\n path?: string | null\n url?: string\n } | null\n notes?: string\n difficulty?: string\n default_language?: string\n target_text?: string\n type: ActivityPageType\n grading_criteria?: string\n scoring_type?: string\n grading_method?: 'simple' | 'rubric' | 'manual' | 'standards_based'\n feedback_types?: string[]\n rubricId?: string\n prompt?: string\n title?: string\n passing_score?: number\n maxCharacters?: number\n answer?: string[]\n choices?: {\n value: string\n option: string\n }[]\n MCQType?: string\n multipleAttemptsAllowed?: boolean\n allowRetries?: boolean\n question?: string\n respondTime?: number\n hidePrompt?: boolean\n videoUrl?: string\n link?: string\n text?: string\n isListenAloud?: boolean\n embedCode?: string\n attempt?: number\n correct?: number\n autoGrade?: boolean\n points?: number\n shuffle?: boolean\n translation?: string\n includeAIContext?: boolean\n media_area_context_ref?: string | null\n standardId?: string\n target_proficiency_level?: string\n allowTTS?: boolean\n feedback_language?: string | null\n correct_answer?: string | null\n limit_attempts?: boolean\n max_attempts?: number\n rich_text?: string\n}\n\nexport enum ActivityPageType {\n // DEFAULT = 'READ_REPEAT',\n READ_REPEAT = 'READ_REPEAT',\n VIDEO = 'VIDEO',\n TEXT = 'TEXT',\n READ_RESPOND = 'READ_RESPOND',\n FREE_RESPONSE = 'FREE_RESPONSE',\n REPEAT = 'REPEAT',\n RESPOND = 'RESPOND',\n RESPOND_WRITE = 'RESPOND_WRITE',\n TEXT_TO_SPEECH = 'TEXT_TO_SPEECH',\n MULTIPLE_CHOICE = 'MULTIPLE_CHOICE',\n PODCAST = 'PODCAST',\n MEDIA_PAGE = 'MEDIA_PAGE',\n WRITE = 'WRITE',\n SHORT_ANSWER = 'SHORT_ANSWER',\n SHORT_STORY = 'SHORT_STORY',\n SPEAK = 'SPEAK',\n CONVERSATION = 'CONVERSATION',\n CONVERSATION_WRITE = 'CONVERSATION_WRITE',\n DIALOGUE = 'DIALOGUE',\n INSTRUCTION = 'INSTRUCTION',\n LISTEN = 'LISTEN',\n READ = 'READ',\n ANSWER = 'ANSWER',\n}\n\nexport const RESPOND_PAGE_ACTIVITY_TYPES = [\n ActivityPageType.READ_RESPOND,\n ActivityPageType.RESPOND,\n ActivityPageType.RESPOND_WRITE,\n ActivityPageType.FREE_RESPONSE,\n]\n\nexport const MULTIPLE_CHOICE_PAGE_ACTIVITY_TYPES = [ActivityPageType.MULTIPLE_CHOICE]\n\nexport const REPEAT_PAGE_ACTIVITY_TYPES = [ActivityPageType.READ_REPEAT, ActivityPageType.REPEAT]\n\nexport const RESPOND_WRITE_PAGE_ACTIVITY_TYPES = [\n ActivityPageType.RESPOND_WRITE,\n ActivityPageType.FREE_RESPONSE,\n]\n\nexport const RESPOND_AUDIO_PAGE_ACTIVITY_TYPES = [\n ActivityPageType.RESPOND,\n ActivityPageType.READ_RESPOND,\n]\n"],"mappings":";AA0EO,IAAK,mBAAL,kBAAKA,sBAAL;AAEL,EAAAA,kBAAA,iBAAc;AACd,EAAAA,kBAAA,WAAQ;AACR,EAAAA,kBAAA,UAAO;AACP,EAAAA,kBAAA,kBAAe;AACf,EAAAA,kBAAA,mBAAgB;AAChB,EAAAA,kBAAA,YAAS;AACT,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,mBAAgB;AAChB,EAAAA,kBAAA,oBAAiB;AACjB,EAAAA,kBAAA,qBAAkB;AAClB,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,gBAAa;AACb,EAAAA,kBAAA,WAAQ;AACR,EAAAA,kBAAA,kBAAe;AACf,EAAAA,kBAAA,iBAAc;AACd,EAAAA,kBAAA,WAAQ;AACR,EAAAA,kBAAA,kBAAe;AACf,EAAAA,kBAAA,wBAAqB;AACrB,EAAAA,kBAAA,cAAW;AACX,EAAAA,kBAAA,iBAAc;AACd,EAAAA,kBAAA,YAAS;AACT,EAAAA,kBAAA,UAAO;AACP,EAAAA,kBAAA,YAAS;AAxBC,SAAAA;AAAA,GAAA;AA2BL,IAAM,8BAA8B;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,sCAAsC,CAAC,uCAAgC;AAE7E,IAAM,6BAA6B,CAAC,iCAA8B,qBAAuB;AAEzF,IAAM,oCAAoC;AAAA,EAC/C;AAAA,EACA;AACF;AAEO,IAAM,oCAAoC;AAAA,EAC/C;AAAA,EACA;AACF;","names":["ActivityPageType"]}