@whop/sdk 0.0.2 → 0.0.4

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 (196) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/client.d.mts +30 -12
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +30 -12
  5. package/client.d.ts.map +1 -1
  6. package/client.js +19 -1
  7. package/client.js.map +1 -1
  8. package/client.mjs +21 -3
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/app-builds.d.mts +16 -13
  12. package/resources/app-builds.d.mts.map +1 -1
  13. package/resources/app-builds.d.ts +16 -13
  14. package/resources/app-builds.d.ts.map +1 -1
  15. package/resources/app-builds.js +1 -1
  16. package/resources/app-builds.mjs +1 -1
  17. package/resources/apps.d.mts +15 -10
  18. package/resources/apps.d.mts.map +1 -1
  19. package/resources/apps.d.ts +15 -10
  20. package/resources/apps.d.ts.map +1 -1
  21. package/resources/checkout-configurations.d.mts +252 -140
  22. package/resources/checkout-configurations.d.mts.map +1 -1
  23. package/resources/checkout-configurations.d.ts +252 -140
  24. package/resources/checkout-configurations.d.ts.map +1 -1
  25. package/resources/checkout-configurations.js +6 -20
  26. package/resources/checkout-configurations.js.map +1 -1
  27. package/resources/checkout-configurations.mjs +6 -20
  28. package/resources/checkout-configurations.mjs.map +1 -1
  29. package/resources/companies.d.mts +157 -0
  30. package/resources/companies.d.mts.map +1 -1
  31. package/resources/companies.d.ts +157 -0
  32. package/resources/companies.d.ts.map +1 -1
  33. package/resources/companies.js +22 -0
  34. package/resources/companies.js.map +1 -1
  35. package/resources/companies.mjs +22 -0
  36. package/resources/companies.mjs.map +1 -1
  37. package/resources/course-chapters.d.mts +185 -0
  38. package/resources/course-chapters.d.mts.map +1 -0
  39. package/resources/course-chapters.d.ts +185 -0
  40. package/resources/course-chapters.d.ts.map +1 -0
  41. package/resources/course-chapters.js +103 -0
  42. package/resources/course-chapters.js.map +1 -0
  43. package/resources/course-chapters.mjs +99 -0
  44. package/resources/course-chapters.mjs.map +1 -0
  45. package/resources/course-lesson-interactions.d.mts +2 -2
  46. package/resources/course-lesson-interactions.d.ts +2 -2
  47. package/resources/course-lesson-interactions.js +2 -2
  48. package/resources/course-lesson-interactions.mjs +2 -2
  49. package/resources/course-lessons.d.mts +563 -0
  50. package/resources/course-lessons.d.mts.map +1 -0
  51. package/resources/course-lessons.d.ts +563 -0
  52. package/resources/course-lessons.d.ts.map +1 -0
  53. package/resources/course-lessons.js +101 -0
  54. package/resources/course-lessons.js.map +1 -0
  55. package/resources/course-lessons.mjs +97 -0
  56. package/resources/course-lessons.mjs.map +1 -0
  57. package/resources/course-students.d.mts +187 -0
  58. package/resources/course-students.d.mts.map +1 -0
  59. package/resources/course-students.d.ts +187 -0
  60. package/resources/course-students.d.ts.map +1 -0
  61. package/resources/course-students.js +36 -0
  62. package/resources/course-students.js.map +1 -0
  63. package/resources/course-students.mjs +32 -0
  64. package/resources/course-students.mjs.map +1 -0
  65. package/resources/courses.d.mts +485 -0
  66. package/resources/courses.d.mts.map +1 -0
  67. package/resources/courses.d.ts +485 -0
  68. package/resources/courses.d.ts.map +1 -0
  69. package/resources/courses.js +98 -0
  70. package/resources/courses.js.map +1 -0
  71. package/resources/courses.mjs +94 -0
  72. package/resources/courses.mjs.map +1 -0
  73. package/resources/experiences.d.mts +42 -11
  74. package/resources/experiences.d.mts.map +1 -1
  75. package/resources/experiences.d.ts +42 -11
  76. package/resources/experiences.d.ts.map +1 -1
  77. package/resources/experiences.js +22 -0
  78. package/resources/experiences.js.map +1 -1
  79. package/resources/experiences.mjs +22 -0
  80. package/resources/experiences.mjs.map +1 -1
  81. package/resources/forum-posts.d.mts +75 -10
  82. package/resources/forum-posts.d.mts.map +1 -1
  83. package/resources/forum-posts.d.ts +75 -10
  84. package/resources/forum-posts.d.ts.map +1 -1
  85. package/resources/forum-posts.js +11 -0
  86. package/resources/forum-posts.js.map +1 -1
  87. package/resources/forum-posts.mjs +11 -0
  88. package/resources/forum-posts.mjs.map +1 -1
  89. package/resources/index.d.mts +12 -6
  90. package/resources/index.d.mts.map +1 -1
  91. package/resources/index.d.ts +12 -6
  92. package/resources/index.d.ts.map +1 -1
  93. package/resources/index.js +13 -1
  94. package/resources/index.js.map +1 -1
  95. package/resources/index.mjs +7 -1
  96. package/resources/index.mjs.map +1 -1
  97. package/resources/invoices.d.mts +529 -146
  98. package/resources/invoices.d.mts.map +1 -1
  99. package/resources/invoices.d.ts +529 -146
  100. package/resources/invoices.d.ts.map +1 -1
  101. package/resources/invoices.js +2 -24
  102. package/resources/invoices.js.map +1 -1
  103. package/resources/invoices.mjs +2 -24
  104. package/resources/invoices.mjs.map +1 -1
  105. package/resources/ledger-accounts.d.mts +1 -1
  106. package/resources/ledger-accounts.d.mts.map +1 -1
  107. package/resources/ledger-accounts.d.ts +1 -1
  108. package/resources/ledger-accounts.d.ts.map +1 -1
  109. package/resources/members.d.mts +4 -0
  110. package/resources/members.d.mts.map +1 -1
  111. package/resources/members.d.ts +4 -0
  112. package/resources/members.d.ts.map +1 -1
  113. package/resources/memberships.d.mts +26 -5
  114. package/resources/memberships.d.mts.map +1 -1
  115. package/resources/memberships.d.ts +26 -5
  116. package/resources/memberships.d.ts.map +1 -1
  117. package/resources/memberships.js +1 -1
  118. package/resources/memberships.js.map +1 -1
  119. package/resources/memberships.mjs +1 -1
  120. package/resources/memberships.mjs.map +1 -1
  121. package/resources/messages.d.mts +57 -10
  122. package/resources/messages.d.mts.map +1 -1
  123. package/resources/messages.d.ts +57 -10
  124. package/resources/messages.d.ts.map +1 -1
  125. package/resources/messages.js +6 -0
  126. package/resources/messages.js.map +1 -1
  127. package/resources/messages.mjs +6 -0
  128. package/resources/messages.mjs.map +1 -1
  129. package/resources/payments.d.mts +35 -13
  130. package/resources/payments.d.mts.map +1 -1
  131. package/resources/payments.d.ts +35 -13
  132. package/resources/payments.d.ts.map +1 -1
  133. package/resources/plans.d.mts +161 -17
  134. package/resources/plans.d.mts.map +1 -1
  135. package/resources/plans.d.ts +161 -17
  136. package/resources/plans.d.ts.map +1 -1
  137. package/resources/plans.js.map +1 -1
  138. package/resources/plans.mjs.map +1 -1
  139. package/resources/products.d.mts +30 -33
  140. package/resources/products.d.mts.map +1 -1
  141. package/resources/products.d.ts +30 -33
  142. package/resources/products.d.ts.map +1 -1
  143. package/resources/promo-codes.d.mts +394 -0
  144. package/resources/promo-codes.d.mts.map +1 -0
  145. package/resources/promo-codes.d.ts +394 -0
  146. package/resources/promo-codes.d.ts.map +1 -0
  147. package/resources/promo-codes.js +91 -0
  148. package/resources/promo-codes.js.map +1 -0
  149. package/resources/promo-codes.mjs +87 -0
  150. package/resources/promo-codes.mjs.map +1 -0
  151. package/resources/reviews.d.mts +277 -0
  152. package/resources/reviews.d.mts.map +1 -0
  153. package/resources/reviews.d.ts +277 -0
  154. package/resources/reviews.d.ts.map +1 -0
  155. package/resources/reviews.js +23 -0
  156. package/resources/reviews.js.map +1 -0
  157. package/resources/reviews.mjs +19 -0
  158. package/resources/reviews.mjs.map +1 -0
  159. package/resources/shared.d.mts +117 -14
  160. package/resources/shared.d.mts.map +1 -1
  161. package/resources/shared.d.ts +117 -14
  162. package/resources/shared.d.ts.map +1 -1
  163. package/resources/transfers.d.mts +12 -0
  164. package/resources/transfers.d.mts.map +1 -1
  165. package/resources/transfers.d.ts +12 -0
  166. package/resources/transfers.d.ts.map +1 -1
  167. package/src/client.ts +166 -11
  168. package/src/resources/app-builds.ts +19 -14
  169. package/src/resources/apps.ts +16 -11
  170. package/src/resources/checkout-configurations.ts +278 -143
  171. package/src/resources/companies.ts +196 -0
  172. package/src/resources/course-chapters.ts +236 -0
  173. package/src/resources/course-lesson-interactions.ts +2 -2
  174. package/src/resources/course-lessons.ts +699 -0
  175. package/src/resources/course-students.ts +238 -0
  176. package/src/resources/courses.ts +622 -0
  177. package/src/resources/experiences.ts +54 -11
  178. package/src/resources/forum-posts.ts +95 -10
  179. package/src/resources/index.ts +73 -2
  180. package/src/resources/invoices.ts +620 -149
  181. package/src/resources/ledger-accounts.ts +13 -1
  182. package/src/resources/members.ts +5 -0
  183. package/src/resources/memberships.ts +31 -6
  184. package/src/resources/messages.ts +74 -10
  185. package/src/resources/payments.ts +146 -19
  186. package/src/resources/plans.ts +184 -17
  187. package/src/resources/products.ts +36 -37
  188. package/src/resources/promo-codes.ts +490 -0
  189. package/src/resources/reviews.ts +348 -0
  190. package/src/resources/shared.ts +128 -14
  191. package/src/resources/transfers.ts +10 -0
  192. package/src/version.ts +1 -1
  193. package/version.d.mts +1 -1
  194. package/version.d.ts +1 -1
  195. package/version.js +1 -1
  196. package/version.mjs +1 -1
@@ -0,0 +1,563 @@
1
+ import { APIResource } from "../core/resource.js";
2
+ import * as CourseLessonsAPI from "./course-lessons.js";
3
+ import { APIPromise } from "../core/api-promise.js";
4
+ import { CursorPage, type CursorPageParams, PagePromise } from "../core/pagination.js";
5
+ import { RequestOptions } from "../internal/request-options.js";
6
+ export declare class CourseLessons extends APIResource {
7
+ /**
8
+ * Creates a new course lesson
9
+ *
10
+ * Required permissions:
11
+ *
12
+ * - `courses:update`
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const lesson = await client.courseLessons.create({
17
+ * chapter_id: 'chap_xxxxxxxxxxxxx',
18
+ * lesson_type: 'text',
19
+ * });
20
+ * ```
21
+ */
22
+ create(body: CourseLessonCreateParams, options?: RequestOptions): APIPromise<Lesson>;
23
+ /**
24
+ * Retrieves a course lesson by ID
25
+ *
26
+ * Required permissions:
27
+ *
28
+ * - `courses:read`
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const lesson = await client.courseLessons.retrieve(
33
+ * 'lesn_xxxxxxxxxxxxx',
34
+ * );
35
+ * ```
36
+ */
37
+ retrieve(id: string, options?: RequestOptions): APIPromise<Lesson>;
38
+ /**
39
+ * Updates a course lesson
40
+ *
41
+ * Required permissions:
42
+ *
43
+ * - `courses:update`
44
+ *
45
+ * @example
46
+ * ```ts
47
+ * const lesson = await client.courseLessons.update(
48
+ * 'lesn_xxxxxxxxxxxxx',
49
+ * );
50
+ * ```
51
+ */
52
+ update(id: string, body?: CourseLessonUpdateParams | null | undefined, options?: RequestOptions): APIPromise<Lesson>;
53
+ /**
54
+ * Lists lessons for a course or chapter
55
+ *
56
+ * Required permissions:
57
+ *
58
+ * - `courses:read`
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * // Automatically fetches more pages as needed.
63
+ * for await (const courseLessonListResponse of client.courseLessons.list()) {
64
+ * // ...
65
+ * }
66
+ * ```
67
+ */
68
+ list(query?: CourseLessonListParams | null | undefined, options?: RequestOptions): PagePromise<CourseLessonListResponsesCursorPage, CourseLessonListResponse>;
69
+ /**
70
+ * Deletes a course lesson
71
+ *
72
+ * Required permissions:
73
+ *
74
+ * - `courses:update`
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * const courseLesson = await client.courseLessons.delete(
79
+ * 'lesn_xxxxxxxxxxxxx',
80
+ * );
81
+ * ```
82
+ */
83
+ delete(id: string, options?: RequestOptions): APIPromise<CourseLessonDeleteResponse>;
84
+ }
85
+ export type CourseLessonListResponsesCursorPage = CursorPage<CourseLessonListResponse>;
86
+ /**
87
+ * The available types for an assessment question
88
+ */
89
+ export type AssessmentQuestionTypes = 'short_answer' | 'true_false' | 'multiple_choice' | 'multiple_select';
90
+ /**
91
+ * A lesson from the courses app
92
+ */
93
+ export interface Lesson {
94
+ /**
95
+ * The ID of the lesson
96
+ */
97
+ id: string;
98
+ /**
99
+ * Assessment questions for quiz/knowledge check lessons
100
+ */
101
+ assessment_questions: Array<Lesson.AssessmentQuestion>;
102
+ /**
103
+ * The attached files in this lesson as a flat array
104
+ */
105
+ attachments: Array<Lesson.Attachment>;
106
+ /**
107
+ * The content of the lesson
108
+ */
109
+ content: string | null;
110
+ /**
111
+ * Number of days from course start until the lesson is unlocked
112
+ */
113
+ days_from_course_start_until_unlock: number | null;
114
+ /**
115
+ * The type of the lesson (text, video, pdf, multi, quiz, knowledge_check)
116
+ */
117
+ lesson_type: LessonTypes;
118
+ /**
119
+ * The main PDF file for this lesson
120
+ */
121
+ main_pdf: Lesson.MainPdf | null;
122
+ /**
123
+ * The order of the lesson within its chapter
124
+ */
125
+ order: number;
126
+ /**
127
+ * The title of the lesson
128
+ */
129
+ title: string;
130
+ /**
131
+ * The associated Mux asset for video lessons
132
+ */
133
+ video_asset: Lesson.VideoAsset | null;
134
+ /**
135
+ * The visibility of the lesson. Determines how / whether this lesson is visible to
136
+ * users.
137
+ */
138
+ visibility: LessonVisibilities;
139
+ }
140
+ export declare namespace Lesson {
141
+ /**
142
+ * An assessment question in a course quiz or knowledge check
143
+ */
144
+ interface AssessmentQuestion {
145
+ /**
146
+ * The ID of the assessment question
147
+ */
148
+ id: string;
149
+ /**
150
+ * The correct answer for the question. Used for short answer questions. Only
151
+ * visible to admins (users with courses:update permission)
152
+ */
153
+ correct_answer: string | null;
154
+ /**
155
+ * When the question was created
156
+ */
157
+ created_at: string;
158
+ /**
159
+ * Optional image attachment for the question
160
+ */
161
+ image: AssessmentQuestion.Image | null;
162
+ /**
163
+ * The answer options for multiple choice/select questions
164
+ */
165
+ options: Array<AssessmentQuestion.Option>;
166
+ /**
167
+ * The order of the question within its lesson
168
+ */
169
+ order: number;
170
+ /**
171
+ * The text of the question
172
+ */
173
+ question_text: string;
174
+ /**
175
+ * The type of the question
176
+ */
177
+ question_type: CourseLessonsAPI.AssessmentQuestionTypes;
178
+ }
179
+ namespace AssessmentQuestion {
180
+ /**
181
+ * Optional image attachment for the question
182
+ */
183
+ interface Image {
184
+ /**
185
+ * The ID of the attachment
186
+ */
187
+ id: string;
188
+ /**
189
+ * The attachment's content type (e.g., image/jpg, video/mp4)
190
+ */
191
+ content_type: string | null;
192
+ /**
193
+ * The name of the file
194
+ */
195
+ filename: string | null;
196
+ /**
197
+ * This is the URL you use to render optimized attachments on the client. This
198
+ * should be used for apps.
199
+ */
200
+ url: string | null;
201
+ }
202
+ /**
203
+ * An answer option for a multiple choice or multiple select assessment question
204
+ */
205
+ interface Option {
206
+ /**
207
+ * The ID of the assessment question option
208
+ */
209
+ id: string;
210
+ /**
211
+ * Whether this option is a correct answer. Only visible to admins (users with
212
+ * courses:update permission)
213
+ */
214
+ is_correct: boolean | null;
215
+ /**
216
+ * The text of the answer option
217
+ */
218
+ option_text: string;
219
+ /**
220
+ * The order of this option within the question
221
+ */
222
+ order: number;
223
+ }
224
+ }
225
+ /**
226
+ * Represents an image attachment
227
+ */
228
+ interface Attachment {
229
+ /**
230
+ * The ID of the attachment
231
+ */
232
+ id: string;
233
+ /**
234
+ * The attachment's content type (e.g., image/jpg, video/mp4)
235
+ */
236
+ content_type: string | null;
237
+ /**
238
+ * The name of the file
239
+ */
240
+ filename: string | null;
241
+ /**
242
+ * This is the URL you use to render optimized attachments on the client. This
243
+ * should be used for apps.
244
+ */
245
+ url: string | null;
246
+ }
247
+ /**
248
+ * The main PDF file for this lesson
249
+ */
250
+ interface MainPdf {
251
+ /**
252
+ * The ID of the attachment
253
+ */
254
+ id: string;
255
+ /**
256
+ * The attachment's content type (e.g., image/jpg, video/mp4)
257
+ */
258
+ content_type: string | null;
259
+ /**
260
+ * The name of the file
261
+ */
262
+ filename: string | null;
263
+ /**
264
+ * This is the URL you use to render optimized attachments on the client. This
265
+ * should be used for apps.
266
+ */
267
+ url: string | null;
268
+ }
269
+ /**
270
+ * The associated Mux asset for video lessons
271
+ */
272
+ interface VideoAsset {
273
+ /**
274
+ * The ID of the Mux asset
275
+ */
276
+ id: string;
277
+ /**
278
+ * The Mux-provided ID of the asset
279
+ */
280
+ asset_id: string | null;
281
+ /**
282
+ * The public playback ID of the Mux asset
283
+ */
284
+ playback_id: string | null;
285
+ }
286
+ }
287
+ /**
288
+ * The available types for a lesson
289
+ */
290
+ export type LessonTypes = 'text' | 'video' | 'pdf' | 'multi' | 'quiz' | 'knowledge_check';
291
+ /**
292
+ * The available visibilities for a lesson. Determines how / whether a lesson is
293
+ * visible to users.
294
+ */
295
+ export type LessonVisibilities = 'visible' | 'hidden';
296
+ /**
297
+ * A lesson from the courses app
298
+ */
299
+ export interface CourseLessonListResponse {
300
+ /**
301
+ * The ID of the lesson
302
+ */
303
+ id: string;
304
+ /**
305
+ * The content of the lesson
306
+ */
307
+ content: string | null;
308
+ /**
309
+ * Number of days from course start until the lesson is unlocked
310
+ */
311
+ days_from_course_start_until_unlock: number | null;
312
+ /**
313
+ * The type of the lesson (text, video, pdf, multi, quiz, knowledge_check)
314
+ */
315
+ lesson_type: LessonTypes;
316
+ /**
317
+ * The order of the lesson within its chapter
318
+ */
319
+ order: number;
320
+ /**
321
+ * The title of the lesson
322
+ */
323
+ title: string;
324
+ /**
325
+ * The visibility of the lesson. Determines how / whether this lesson is visible to
326
+ * users.
327
+ */
328
+ visibility: LessonVisibilities;
329
+ }
330
+ /**
331
+ * Represents `true` or `false` values.
332
+ */
333
+ export type CourseLessonDeleteResponse = boolean;
334
+ export interface CourseLessonCreateParams {
335
+ /**
336
+ * The ID of the chapter to create the lesson in
337
+ */
338
+ chapter_id: string;
339
+ /**
340
+ * The type of the lesson
341
+ */
342
+ lesson_type: LessonTypes;
343
+ /**
344
+ * The content of the lesson
345
+ */
346
+ content?: string | null;
347
+ /**
348
+ * Days from course start until unlock
349
+ */
350
+ days_from_course_start_until_unlock?: number | null;
351
+ /**
352
+ * The title of the lesson
353
+ */
354
+ title?: string | null;
355
+ }
356
+ export interface CourseLessonUpdateParams {
357
+ /**
358
+ * Completion requirements for quiz/knowledge check lessons
359
+ */
360
+ assessment_completion_requirement?: CourseLessonUpdateParams.AssessmentCompletionRequirement | null;
361
+ /**
362
+ * Assessment questions for quiz/knowledge check lessons. Replaces all existing
363
+ * questions.
364
+ */
365
+ assessment_questions?: Array<CourseLessonUpdateParams.AssessmentQuestion> | null;
366
+ /**
367
+ * General attachments for the lesson (PDFs, files, etc). Replaces all existing
368
+ * attachments.
369
+ */
370
+ attachments?: Array<CourseLessonUpdateParams.AttachmentInputWithDirectUploadID | CourseLessonUpdateParams.AttachmentInputWithID> | null;
371
+ /**
372
+ * The content of the lesson
373
+ */
374
+ content?: string | null;
375
+ /**
376
+ * Days from course start until unlock
377
+ */
378
+ days_from_course_start_until_unlock?: number | null;
379
+ /**
380
+ * The available types for a lesson
381
+ */
382
+ lesson_type?: LessonTypes | null;
383
+ /**
384
+ * The main PDF file for this lesson
385
+ */
386
+ main_pdf?: CourseLessonUpdateParams.AttachmentInputWithDirectUploadID | CourseLessonUpdateParams.AttachmentInputWithID | null;
387
+ /**
388
+ * Maximum number of attempts allowed for assessments
389
+ */
390
+ max_attempts?: number | null;
391
+ /**
392
+ * The ID of the Mux asset to attach to this lesson for video lessons
393
+ */
394
+ mux_asset_id?: string | null;
395
+ /**
396
+ * The title of the lesson
397
+ */
398
+ title?: string | null;
399
+ /**
400
+ * The available visibilities for a lesson. Determines how / whether a lesson is
401
+ * visible to users.
402
+ */
403
+ visibility?: LessonVisibilities | null;
404
+ }
405
+ export declare namespace CourseLessonUpdateParams {
406
+ /**
407
+ * Completion requirements for quiz/knowledge check lessons
408
+ */
409
+ interface AssessmentCompletionRequirement {
410
+ /**
411
+ * The minimum grade percentage required to pass (0-100). Cannot be set together
412
+ * with minimum_questions_correct.
413
+ */
414
+ minimum_grade_percent?: number | null;
415
+ /**
416
+ * The minimum number of questions that must be answered correctly. Cannot be set
417
+ * together with minimum_grade_percent.
418
+ */
419
+ minimum_questions_correct?: number | null;
420
+ }
421
+ /**
422
+ * Input for creating or updating an assessment question
423
+ */
424
+ interface AssessmentQuestion {
425
+ /**
426
+ * The correct answer for the question. Used for short answer questions
427
+ */
428
+ correct_answer: string;
429
+ /**
430
+ * The text of the question
431
+ */
432
+ question_text: string;
433
+ /**
434
+ * The type of the question
435
+ */
436
+ question_type: CourseLessonsAPI.AssessmentQuestionTypes;
437
+ /**
438
+ * The ID of an existing question. If provided, the question will be updated. If
439
+ * not provided, a new question will be created.
440
+ */
441
+ id?: string | null;
442
+ /**
443
+ * Optional image attachment for the question
444
+ */
445
+ image?: AssessmentQuestion.AttachmentInputWithDirectUploadID | AssessmentQuestion.AttachmentInputWithID | null;
446
+ /**
447
+ * The answer options for multiple choice/select questions
448
+ */
449
+ options?: Array<AssessmentQuestion.Option> | null;
450
+ }
451
+ namespace AssessmentQuestion {
452
+ /**
453
+ * Input for an attachment
454
+ */
455
+ interface AttachmentInputWithDirectUploadID {
456
+ /**
457
+ * This ID should be used the first time you upload an attachment. It is the ID of
458
+ * the direct upload that was created when uploading the file to S3 via the
459
+ * mediaDirectUpload mutation.
460
+ */
461
+ direct_upload_id: string;
462
+ }
463
+ /**
464
+ * Input for an attachment
465
+ */
466
+ interface AttachmentInputWithID {
467
+ /**
468
+ * The ID of an existing attachment object. Use this when updating a resource and
469
+ * keeping a subset of the attachments. Don't use this unless you know what you're
470
+ * doing.
471
+ */
472
+ id: string;
473
+ }
474
+ /**
475
+ * Input for creating or updating an assessment question option
476
+ */
477
+ interface Option {
478
+ /**
479
+ * Whether this option is a correct answer
480
+ */
481
+ is_correct: boolean;
482
+ /**
483
+ * The text of the answer option
484
+ */
485
+ option_text: string;
486
+ /**
487
+ * The ID of an existing option. If provided, the option will be updated. If not
488
+ * provided, a new option will be created.
489
+ */
490
+ id?: string | null;
491
+ }
492
+ }
493
+ /**
494
+ * Input for an attachment
495
+ */
496
+ interface AttachmentInputWithDirectUploadID {
497
+ /**
498
+ * This ID should be used the first time you upload an attachment. It is the ID of
499
+ * the direct upload that was created when uploading the file to S3 via the
500
+ * mediaDirectUpload mutation.
501
+ */
502
+ direct_upload_id: string;
503
+ }
504
+ /**
505
+ * Input for an attachment
506
+ */
507
+ interface AttachmentInputWithID {
508
+ /**
509
+ * The ID of an existing attachment object. Use this when updating a resource and
510
+ * keeping a subset of the attachments. Don't use this unless you know what you're
511
+ * doing.
512
+ */
513
+ id: string;
514
+ }
515
+ /**
516
+ * Input for an attachment
517
+ */
518
+ interface AttachmentInputWithDirectUploadID {
519
+ /**
520
+ * This ID should be used the first time you upload an attachment. It is the ID of
521
+ * the direct upload that was created when uploading the file to S3 via the
522
+ * mediaDirectUpload mutation.
523
+ */
524
+ direct_upload_id: string;
525
+ }
526
+ /**
527
+ * Input for an attachment
528
+ */
529
+ interface AttachmentInputWithID {
530
+ /**
531
+ * The ID of an existing attachment object. Use this when updating a resource and
532
+ * keeping a subset of the attachments. Don't use this unless you know what you're
533
+ * doing.
534
+ */
535
+ id: string;
536
+ }
537
+ }
538
+ export interface CourseLessonListParams extends CursorPageParams {
539
+ /**
540
+ * Returns the elements in the list that come before the specified cursor.
541
+ */
542
+ before?: string | null;
543
+ /**
544
+ * The ID of the chapter (returns lessons only for this chapter)
545
+ */
546
+ chapter_id?: string | null;
547
+ /**
548
+ * The ID of the course (returns all lessons across all chapters)
549
+ */
550
+ course_id?: string | null;
551
+ /**
552
+ * Returns the first _n_ elements from the list.
553
+ */
554
+ first?: number | null;
555
+ /**
556
+ * Returns the last _n_ elements from the list.
557
+ */
558
+ last?: number | null;
559
+ }
560
+ export declare namespace CourseLessons {
561
+ export { type AssessmentQuestionTypes as AssessmentQuestionTypes, type Lesson as Lesson, type LessonTypes as LessonTypes, type LessonVisibilities as LessonVisibilities, type CourseLessonListResponse as CourseLessonListResponse, type CourseLessonDeleteResponse as CourseLessonDeleteResponse, type CourseLessonListResponsesCursorPage as CourseLessonListResponsesCursorPage, type CourseLessonCreateParams as CourseLessonCreateParams, type CourseLessonUpdateParams as CourseLessonUpdateParams, type CourseLessonListParams as CourseLessonListParams, };
562
+ }
563
+ //# sourceMappingURL=course-lessons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course-lessons.d.ts","sourceRoot":"","sources":["../src/resources/course-lessons.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,KAAK,gBAAgB;OACrB,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,WAAW,EAAE;OAClD,EAAE,cAAc,EAAE;AAGzB,qBAAa,aAAc,SAAQ,WAAW;IAC5C;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAAI,EAAE,wBAAwB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;IAIpF;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC;IAIlE;;;;;;;;;;;;;OAaG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,wBAAwB,GAAG,IAAI,GAAG,SAAc,EACtD,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,MAAM,CAAC;IAIrB;;;;;;;;;;;;;;OAcG;IACH,IAAI,CACF,KAAK,GAAE,sBAAsB,GAAG,IAAI,GAAG,SAAc,EACrD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,mCAAmC,EAAE,wBAAwB,CAAC;IAO7E;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,0BAA0B,CAAC;CAGrF;AAED,MAAM,MAAM,mCAAmC,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,cAAc,GAAG,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAE5G;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEvD;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAEtC;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB;;OAEG;IACH,mCAAmC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnD;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;IAEtC;;;OAGG;IACH,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED,yBAAiB,MAAM,CAAC;IACtB;;OAEG;IACH,UAAiB,kBAAkB;QACjC;;WAEG;QACH,EAAE,EAAE,MAAM,CAAC;QAEX;;;WAGG;QACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAE9B;;WAEG;QACH,UAAU,EAAE,MAAM,CAAC;QAEnB;;WAEG;QACH,KAAK,EAAE,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC;QAEvC;;WAEG;QACH,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE1C;;WAEG;QACH,KAAK,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,aAAa,EAAE,MAAM,CAAC;QAEtB;;WAEG;QACH,aAAa,EAAE,gBAAgB,CAAC,uBAAuB,CAAC;KACzD;IAED,UAAiB,kBAAkB,CAAC;QAClC;;WAEG;QACH,UAAiB,KAAK;YACpB;;eAEG;YACH,EAAE,EAAE,MAAM,CAAC;YAEX;;eAEG;YACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;YAE5B;;eAEG;YACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;YAExB;;;eAGG;YACH,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;SACpB;QAED;;WAEG;QACH,UAAiB,MAAM;YACrB;;eAEG;YACH,EAAE,EAAE,MAAM,CAAC;YAEX;;;eAGG;YACH,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;YAE3B;;eAEG;YACH,WAAW,EAAE,MAAM,CAAC;YAEpB;;eAEG;YACH,KAAK,EAAE,MAAM,CAAC;SACf;KACF;IAED;;OAEG;IACH,UAAiB,UAAU;QACzB;;WAEG;QACH,EAAE,EAAE,MAAM,CAAC;QAEX;;WAEG;QACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAE5B;;WAEG;QACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAExB;;;WAGG;QACH,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;KACpB;IAED;;OAEG;IACH,UAAiB,OAAO;QACtB;;WAEG;QACH,EAAE,EAAE,MAAM,CAAC;QAEX;;WAEG;QACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAE5B;;WAEG;QACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAExB;;;WAGG;QACH,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;KACpB;IAED;;OAEG;IACH,UAAiB,UAAU;QACzB;;WAEG;QACH,EAAE,EAAE,MAAM,CAAC;QAEX;;WAEG;QACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAExB;;WAEG;QACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B;CACF;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAE1F;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB;;OAEG;IACH,mCAAmC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnD;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;OAEG;IACH,mCAAmC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,iCAAiC,CAAC,EAAE,wBAAwB,CAAC,+BAA+B,GAAG,IAAI,CAAC;IAEpG;;;OAGG;IACH,oBAAoB,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAEjF;;;OAGG;IACH,WAAW,CAAC,EAAE,KAAK,CACf,wBAAwB,CAAC,iCAAiC,GAC1D,wBAAwB,CAAC,qBAAqB,CACjD,GAAG,IAAI,CAAC;IAET;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;OAEG;IACH,mCAAmC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,EACL,wBAAwB,CAAC,iCAAiC,GAC1D,wBAAwB,CAAC,qBAAqB,GAC9C,IAAI,CAAC;IAET;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACxC;AAED,yBAAiB,wBAAwB,CAAC;IACxC;;OAEG;IACH,UAAiB,+BAA+B;QAC9C;;;WAGG;QACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAEtC;;;WAGG;QACH,yBAAyB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3C;IAED;;OAEG;IACH,UAAiB,kBAAkB;QACjC;;WAEG;QACH,cAAc,EAAE,MAAM,CAAC;QAEvB;;WAEG;QACH,aAAa,EAAE,MAAM,CAAC;QAEtB;;WAEG;QACH,aAAa,EAAE,gBAAgB,CAAC,uBAAuB,CAAC;QAExD;;;WAGG;QACH,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAEnB;;WAEG;QACH,KAAK,CAAC,EACF,kBAAkB,CAAC,iCAAiC,GACpD,kBAAkB,CAAC,qBAAqB,GACxC,IAAI,CAAC;QAET;;WAEG;QACH,OAAO,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;KACnD;IAED,UAAiB,kBAAkB,CAAC;QAClC;;WAEG;QACH,UAAiB,iCAAiC;YAChD;;;;eAIG;YACH,gBAAgB,EAAE,MAAM,CAAC;SAC1B;QAED;;WAEG;QACH,UAAiB,qBAAqB;YACpC;;;;eAIG;YACH,EAAE,EAAE,MAAM,CAAC;SACZ;QAED;;WAEG;QACH,UAAiB,MAAM;YACrB;;eAEG;YACH,UAAU,EAAE,OAAO,CAAC;YAEpB;;eAEG;YACH,WAAW,EAAE,MAAM,CAAC;YAEpB;;;eAGG;YACH,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SACpB;KACF;IAED;;OAEG;IACH,UAAiB,iCAAiC;QAChD;;;;WAIG;QACH,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IAED;;OAEG;IACH,UAAiB,qBAAqB;QACpC;;;;WAIG;QACH,EAAE,EAAE,MAAM,CAAC;KACZ;IAED;;OAEG;IACH,UAAiB,iCAAiC;QAChD;;;;WAIG;QACH,gBAAgB,EAAE,MAAM,CAAC;KAC1B;IAED;;OAEG;IACH,UAAiB,qBAAqB;QACpC;;;;WAIG;QACH,EAAE,EAAE,MAAM,CAAC;KACZ;CACF;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,OAAO,EACL,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,MAAM,IAAI,MAAM,EACrB,KAAK,WAAW,IAAI,WAAW,EAC/B,KAAK,kBAAkB,IAAI,kBAAkB,EAC7C,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,0BAA0B,IAAI,0BAA0B,EAC7D,KAAK,mCAAmC,IAAI,mCAAmC,EAC/E,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,wBAAwB,IAAI,wBAAwB,EACzD,KAAK,sBAAsB,IAAI,sBAAsB,GACtD,CAAC;CACH"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CourseLessons = void 0;
5
+ const resource_1 = require("../core/resource.js");
6
+ const pagination_1 = require("../core/pagination.js");
7
+ const path_1 = require("../internal/utils/path.js");
8
+ class CourseLessons extends resource_1.APIResource {
9
+ /**
10
+ * Creates a new course lesson
11
+ *
12
+ * Required permissions:
13
+ *
14
+ * - `courses:update`
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * const lesson = await client.courseLessons.create({
19
+ * chapter_id: 'chap_xxxxxxxxxxxxx',
20
+ * lesson_type: 'text',
21
+ * });
22
+ * ```
23
+ */
24
+ create(body, options) {
25
+ return this._client.post('/course_lessons', { body, ...options });
26
+ }
27
+ /**
28
+ * Retrieves a course lesson by ID
29
+ *
30
+ * Required permissions:
31
+ *
32
+ * - `courses:read`
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * const lesson = await client.courseLessons.retrieve(
37
+ * 'lesn_xxxxxxxxxxxxx',
38
+ * );
39
+ * ```
40
+ */
41
+ retrieve(id, options) {
42
+ return this._client.get((0, path_1.path) `/course_lessons/${id}`, options);
43
+ }
44
+ /**
45
+ * Updates a course lesson
46
+ *
47
+ * Required permissions:
48
+ *
49
+ * - `courses:update`
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * const lesson = await client.courseLessons.update(
54
+ * 'lesn_xxxxxxxxxxxxx',
55
+ * );
56
+ * ```
57
+ */
58
+ update(id, body = {}, options) {
59
+ return this._client.patch((0, path_1.path) `/course_lessons/${id}`, { body, ...options });
60
+ }
61
+ /**
62
+ * Lists lessons for a course or chapter
63
+ *
64
+ * Required permissions:
65
+ *
66
+ * - `courses:read`
67
+ *
68
+ * @example
69
+ * ```ts
70
+ * // Automatically fetches more pages as needed.
71
+ * for await (const courseLessonListResponse of client.courseLessons.list()) {
72
+ * // ...
73
+ * }
74
+ * ```
75
+ */
76
+ list(query = {}, options) {
77
+ return this._client.getAPIList('/course_lessons', (pagination_1.CursorPage), {
78
+ query,
79
+ ...options,
80
+ });
81
+ }
82
+ /**
83
+ * Deletes a course lesson
84
+ *
85
+ * Required permissions:
86
+ *
87
+ * - `courses:update`
88
+ *
89
+ * @example
90
+ * ```ts
91
+ * const courseLesson = await client.courseLessons.delete(
92
+ * 'lesn_xxxxxxxxxxxxx',
93
+ * );
94
+ * ```
95
+ */
96
+ delete(id, options) {
97
+ return this._client.delete((0, path_1.path) `/course_lessons/${id}`, options);
98
+ }
99
+ }
100
+ exports.CourseLessons = CourseLessons;
101
+ //# sourceMappingURL=course-lessons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"course-lessons.js","sourceRoot":"","sources":["../src/resources/course-lessons.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAG/C,sDAAoF;AAEpF,oDAA8C;AAE9C,MAAa,aAAc,SAAQ,sBAAW;IAC5C;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAA8B,EAAE,OAAwB;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAU,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,mBAAmB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CACJ,EAAU,EACV,OAAoD,EAAE,EACtD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAA,WAAI,EAAA,mBAAmB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,CACF,QAAmD,EAAE,EACrD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAA,uBAAoC,CAAA,EAAE;YACtF,KAAK;YACL,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,mBAAmB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;CACF;AAtGD,sCAsGC"}