bolbol-sdk 2.1.0 → 2.2.0

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 (233) hide show
  1. package/README.md +135 -22
  2. package/dist/BolbolServer.d.ts +2 -0
  3. package/dist/BolbolServer.d.ts.map +1 -1
  4. package/dist/BolbolServer.js +3 -0
  5. package/dist/BolbolServer.js.map +1 -1
  6. package/dist/index.d.ts +32 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +32 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/scope/BolbolAcademyScope.d.ts +4 -0
  11. package/dist/scope/BolbolAcademyScope.d.ts.map +1 -1
  12. package/dist/scope/BolbolAcademyScope.js +29 -18
  13. package/dist/scope/BolbolAcademyScope.js.map +1 -1
  14. package/dist/scope/BolbolBillingScope.d.ts +10 -0
  15. package/dist/scope/BolbolBillingScope.d.ts.map +1 -1
  16. package/dist/scope/BolbolBillingScope.js +17 -0
  17. package/dist/scope/BolbolBillingScope.js.map +1 -1
  18. package/dist/scope/BolbolSeriesScope.js +1 -1
  19. package/dist/scope/BolbolSeriesScope.js.map +1 -1
  20. package/dist/scope/BolbolTeacherScope.d.ts +4 -0
  21. package/dist/scope/BolbolTeacherScope.d.ts.map +1 -1
  22. package/dist/scope/BolbolTeacherScope.js +27 -16
  23. package/dist/scope/BolbolTeacherScope.js.map +1 -1
  24. package/dist/scope/BolbolUserCollectionScope.d.ts.map +1 -1
  25. package/dist/scope/BolbolUserCollectionScope.js +18 -9
  26. package/dist/scope/BolbolUserCollectionScope.js.map +1 -1
  27. package/dist/scope/BolbolUserExtensionScope.d.ts +27 -0
  28. package/dist/scope/BolbolUserExtensionScope.d.ts.map +1 -0
  29. package/dist/scope/BolbolUserExtensionScope.js +77 -0
  30. package/dist/scope/BolbolUserExtensionScope.js.map +1 -0
  31. package/dist/scope/BolbolUserItemScope.d.ts +10 -0
  32. package/dist/scope/BolbolUserItemScope.d.ts.map +1 -1
  33. package/dist/scope/BolbolUserItemScope.js +25 -1
  34. package/dist/scope/BolbolUserItemScope.js.map +1 -1
  35. package/dist/type/AcademyItemCreateRequestType.d.ts +1 -1
  36. package/dist/type/AcademyItemCreateRequestType.d.ts.map +1 -1
  37. package/dist/type/AcademyItemUpdateRequestType.d.ts +1 -1
  38. package/dist/type/AcademyItemUpdateRequestType.d.ts.map +1 -1
  39. package/dist/type/AcademyPricingAssignmentListResponseType.d.ts +3 -0
  40. package/dist/type/AcademyPricingAssignmentListResponseType.d.ts.map +1 -0
  41. package/dist/type/AcademyPricingAssignmentListResponseType.js +3 -0
  42. package/dist/type/AcademyPricingAssignmentListResponseType.js.map +1 -0
  43. package/dist/type/AmbiguityTypeEnum.js +2 -2
  44. package/dist/type/AmbiguityTypeEnum.js.map +1 -1
  45. package/dist/type/AnnotationTargetEnum.js +3 -3
  46. package/dist/type/AnnotationTargetEnum.js.map +1 -1
  47. package/dist/type/AnsweringAssetType.d.ts +1 -0
  48. package/dist/type/AnsweringAssetType.d.ts.map +1 -1
  49. package/dist/type/AnsweringCategoryTypeType.d.ts +8 -0
  50. package/dist/type/AnsweringCategoryTypeType.d.ts.map +1 -0
  51. package/dist/type/AnsweringCategoryTypeType.js +3 -0
  52. package/dist/type/AnsweringCategoryTypeType.js.map +1 -0
  53. package/dist/type/AnsweringCategoryValueType.d.ts +10 -0
  54. package/dist/type/AnsweringCategoryValueType.d.ts.map +1 -0
  55. package/dist/type/AnsweringCategoryValueType.js +3 -0
  56. package/dist/type/AnsweringCategoryValueType.js.map +1 -0
  57. package/dist/type/AnsweringConceptType.d.ts.map +1 -1
  58. package/dist/type/AnsweringMindsetTopicType.d.ts +8 -0
  59. package/dist/type/AnsweringMindsetTopicType.d.ts.map +1 -0
  60. package/dist/type/AnsweringMindsetTopicType.js +3 -0
  61. package/dist/type/AnsweringMindsetTopicType.js.map +1 -0
  62. package/dist/type/AnsweringMindsetType.d.ts +16 -0
  63. package/dist/type/AnsweringMindsetType.d.ts.map +1 -0
  64. package/dist/type/AnsweringMindsetType.js +3 -0
  65. package/dist/type/AnsweringMindsetType.js.map +1 -0
  66. package/dist/type/BillingContractMessageAddRequestType.d.ts +3 -0
  67. package/dist/type/BillingContractMessageAddRequestType.d.ts.map +1 -0
  68. package/dist/type/BillingContractMessageAddRequestType.js +3 -0
  69. package/dist/type/BillingContractMessageAddRequestType.js.map +1 -0
  70. package/dist/type/BillingContractMessageAddResponseType.d.ts +3 -0
  71. package/dist/type/BillingContractMessageAddResponseType.d.ts.map +1 -0
  72. package/dist/type/BillingContractMessageAddResponseType.js +3 -0
  73. package/dist/type/BillingContractMessageAddResponseType.js.map +1 -0
  74. package/dist/type/BillingContractMessageListRequestType.d.ts +3 -0
  75. package/dist/type/BillingContractMessageListRequestType.d.ts.map +1 -0
  76. package/dist/type/BillingContractMessageListRequestType.js +3 -0
  77. package/dist/type/BillingContractMessageListRequestType.js.map +1 -0
  78. package/dist/type/BillingContractMessageListResponseType.d.ts +3 -0
  79. package/dist/type/BillingContractMessageListResponseType.d.ts.map +1 -0
  80. package/dist/type/BillingContractMessageListResponseType.js +3 -0
  81. package/dist/type/BillingContractMessageListResponseType.js.map +1 -0
  82. package/dist/type/BillingContractSignResponseType.d.ts +3 -0
  83. package/dist/type/BillingContractSignResponseType.d.ts.map +1 -0
  84. package/dist/type/BillingContractSignResponseType.js +3 -0
  85. package/dist/type/BillingContractSignResponseType.js.map +1 -0
  86. package/dist/type/BolbolContractListRequestType.d.ts.map +1 -1
  87. package/dist/type/ComponentPreviewKitType.d.ts +11 -0
  88. package/dist/type/ComponentPreviewKitType.d.ts.map +1 -0
  89. package/dist/type/ComponentPreviewKitType.js +3 -0
  90. package/dist/type/ComponentPreviewKitType.js.map +1 -0
  91. package/dist/type/ComponentPreviewType.d.ts +2 -0
  92. package/dist/type/ComponentPreviewType.d.ts.map +1 -1
  93. package/dist/type/ComponentRowType.d.ts +3 -0
  94. package/dist/type/ComponentRowType.d.ts.map +1 -1
  95. package/dist/type/ComponentTypeEnum.js +4 -4
  96. package/dist/type/ComponentTypeEnum.js.map +1 -1
  97. package/dist/type/ComponentVersionRowType.d.ts +3 -0
  98. package/dist/type/ComponentVersionRowType.d.ts.map +1 -1
  99. package/dist/type/ContractDealTypeEnum.js +1 -1
  100. package/dist/type/ContractDealTypeEnum.js.map +1 -1
  101. package/dist/type/ContractRowType.d.ts +3 -0
  102. package/dist/type/ContractRowType.d.ts.map +1 -1
  103. package/dist/type/ContractTypeEnum.d.ts.map +1 -1
  104. package/dist/type/ContractTypeEnum.js +15 -5
  105. package/dist/type/ContractTypeEnum.js.map +1 -1
  106. package/dist/type/CourseRecurrenceEnum.js +2 -2
  107. package/dist/type/CourseRecurrenceEnum.js.map +1 -1
  108. package/dist/type/DirectoryItemType.d.ts +1 -0
  109. package/dist/type/DirectoryItemType.d.ts.map +1 -1
  110. package/dist/type/ExtensionHierarchyComponentType.d.ts +4 -0
  111. package/dist/type/ExtensionHierarchyComponentType.d.ts.map +1 -1
  112. package/dist/type/ExtensionPreviewType.d.ts.map +1 -1
  113. package/dist/type/ExtensionRowType.d.ts +2 -0
  114. package/dist/type/ExtensionRowType.d.ts.map +1 -1
  115. package/dist/type/ExtensionVersion_ComponentVersionRowType.d.ts +4 -0
  116. package/dist/type/ExtensionVersion_ComponentVersionRowType.d.ts.map +1 -1
  117. package/dist/type/ItemDirectoryProfileResponseType.d.ts.map +1 -1
  118. package/dist/type/ManageAuthorizationEnum.d.ts +1 -5
  119. package/dist/type/ManageAuthorizationEnum.d.ts.map +1 -1
  120. package/dist/type/ManageAuthorizationEnum.js +10 -12
  121. package/dist/type/ManageAuthorizationEnum.js.map +1 -1
  122. package/dist/type/MessageRowType.d.ts.map +1 -1
  123. package/dist/type/OwnerAuthorizationType.d.ts.map +1 -1
  124. package/dist/type/OwnerPricingAssignmentRowType.d.ts +6 -0
  125. package/dist/type/OwnerPricingAssignmentRowType.d.ts.map +1 -0
  126. package/dist/type/OwnerPricingAssignmentRowType.js +3 -0
  127. package/dist/type/OwnerPricingAssignmentRowType.js.map +1 -0
  128. package/dist/type/OwnerTypeEnum.js +4 -4
  129. package/dist/type/OwnerTypeEnum.js.map +1 -1
  130. package/dist/type/ProductLocationTypeEnum.js +3 -3
  131. package/dist/type/ProductLocationTypeEnum.js.map +1 -1
  132. package/dist/type/RequestTypeEnum.d.ts +0 -8
  133. package/dist/type/RequestTypeEnum.d.ts.map +1 -1
  134. package/dist/type/RequestTypeEnum.js +6 -13
  135. package/dist/type/RequestTypeEnum.js.map +1 -1
  136. package/dist/type/ResourceTypeEnum.js +2 -2
  137. package/dist/type/ResourceTypeEnum.js.map +1 -1
  138. package/dist/type/TeacherAuthorizationGetResponseType.d.ts.map +1 -1
  139. package/dist/type/TeacherComponentCreateRequestType.d.ts +3 -0
  140. package/dist/type/TeacherComponentCreateRequestType.d.ts.map +1 -1
  141. package/dist/type/TeacherComponentListRequestType.d.ts +1 -0
  142. package/dist/type/TeacherComponentListRequestType.d.ts.map +1 -1
  143. package/dist/type/TeacherComponentUpdateRequestType.d.ts +3 -0
  144. package/dist/type/TeacherComponentUpdateRequestType.d.ts.map +1 -1
  145. package/dist/type/TeacherContractListRequestType.d.ts.map +1 -1
  146. package/dist/type/TeacherExtensionCreateRequestType.d.ts +2 -0
  147. package/dist/type/TeacherExtensionCreateRequestType.d.ts.map +1 -1
  148. package/dist/type/TeacherExtensionUpdateRequestType.d.ts +2 -0
  149. package/dist/type/TeacherExtensionUpdateRequestType.d.ts.map +1 -1
  150. package/dist/type/TeacherFolderCreateRequestType.d.ts.map +1 -1
  151. package/dist/type/TeacherPricingAssignmentListResponseType.d.ts +4 -0
  152. package/dist/type/TeacherPricingAssignmentListResponseType.d.ts.map +1 -0
  153. package/dist/type/TeacherPricingAssignmentListResponseType.js +3 -0
  154. package/dist/type/TeacherPricingAssignmentListResponseType.js.map +1 -0
  155. package/dist/type/TeacherRefItemGetResponseType.d.ts +2 -0
  156. package/dist/type/TeacherRefItemGetResponseType.d.ts.map +1 -1
  157. package/dist/type/UidMappingEntityEnum.js +6 -6
  158. package/dist/type/UidMappingEntityEnum.js.map +1 -1
  159. package/dist/type/UserCollectionRowType.d.ts +2 -0
  160. package/dist/type/UserCollectionRowType.d.ts.map +1 -1
  161. package/dist/type/UserExtensionAddRequestType.d.ts +4 -0
  162. package/dist/type/UserExtensionAddRequestType.d.ts.map +1 -0
  163. package/dist/type/UserExtensionAddRequestType.js +3 -0
  164. package/dist/type/UserExtensionAddRequestType.js.map +1 -0
  165. package/dist/type/UserExtensionAddResponseType.d.ts +3 -0
  166. package/dist/type/UserExtensionAddResponseType.d.ts.map +1 -0
  167. package/dist/type/UserExtensionAddResponseType.js +3 -0
  168. package/dist/type/UserExtensionAddResponseType.js.map +1 -0
  169. package/dist/type/UserExtensionComponentListRequestType.d.ts +7 -0
  170. package/dist/type/UserExtensionComponentListRequestType.d.ts.map +1 -0
  171. package/dist/type/UserExtensionComponentListRequestType.js +3 -0
  172. package/dist/type/UserExtensionComponentListRequestType.js.map +1 -0
  173. package/dist/type/UserExtensionComponentListResponseType.d.ts +4 -0
  174. package/dist/type/UserExtensionComponentListResponseType.d.ts.map +1 -0
  175. package/dist/type/UserExtensionComponentListResponseType.js +3 -0
  176. package/dist/type/UserExtensionComponentListResponseType.js.map +1 -0
  177. package/dist/type/UserExtensionEntryType.d.ts +7 -0
  178. package/dist/type/UserExtensionEntryType.d.ts.map +1 -0
  179. package/dist/type/UserExtensionEntryType.js +3 -0
  180. package/dist/type/UserExtensionEntryType.js.map +1 -0
  181. package/dist/type/UserExtensionGetResponseType.d.ts +3 -0
  182. package/dist/type/UserExtensionGetResponseType.d.ts.map +1 -0
  183. package/dist/type/UserExtensionGetResponseType.js +3 -0
  184. package/dist/type/UserExtensionGetResponseType.js.map +1 -0
  185. package/dist/type/UserExtensionListRequestType.d.ts +6 -0
  186. package/dist/type/UserExtensionListRequestType.d.ts.map +1 -0
  187. package/dist/type/UserExtensionListRequestType.js +3 -0
  188. package/dist/type/UserExtensionListRequestType.js.map +1 -0
  189. package/dist/type/UserExtensionListResponseType.d.ts +4 -0
  190. package/dist/type/UserExtensionListResponseType.d.ts.map +1 -0
  191. package/dist/type/UserExtensionListResponseType.js +3 -0
  192. package/dist/type/UserExtensionListResponseType.js.map +1 -0
  193. package/dist/type/UserExtensionRemoveResponseType.d.ts +4 -0
  194. package/dist/type/UserExtensionRemoveResponseType.d.ts.map +1 -0
  195. package/dist/type/UserExtensionRemoveResponseType.js +3 -0
  196. package/dist/type/UserExtensionRemoveResponseType.js.map +1 -0
  197. package/dist/type/UserExtensionRowType.d.ts +14 -0
  198. package/dist/type/UserExtensionRowType.d.ts.map +1 -0
  199. package/dist/type/UserExtensionRowType.js +3 -0
  200. package/dist/type/UserExtensionRowType.js.map +1 -0
  201. package/dist/type/UserExtensionUpdateRequestType.d.ts +4 -0
  202. package/dist/type/UserExtensionUpdateRequestType.d.ts.map +1 -0
  203. package/dist/type/UserExtensionUpdateRequestType.js +3 -0
  204. package/dist/type/UserExtensionUpdateRequestType.js.map +1 -0
  205. package/dist/type/UserExtensionUpdateResponseType.d.ts +3 -0
  206. package/dist/type/UserExtensionUpdateResponseType.d.ts.map +1 -0
  207. package/dist/type/UserExtensionUpdateResponseType.js +3 -0
  208. package/dist/type/UserExtensionUpdateResponseType.js.map +1 -0
  209. package/dist/type/UserItemComponentListRequestType.d.ts +5 -0
  210. package/dist/type/UserItemComponentListRequestType.d.ts.map +1 -0
  211. package/dist/type/UserItemComponentListRequestType.js +3 -0
  212. package/dist/type/UserItemComponentListRequestType.js.map +1 -0
  213. package/dist/type/UserItemComponentListResponseType.d.ts +7 -0
  214. package/dist/type/UserItemComponentListResponseType.d.ts.map +1 -0
  215. package/dist/type/UserItemComponentListResponseType.js +3 -0
  216. package/dist/type/UserItemComponentListResponseType.js.map +1 -0
  217. package/dist/type/UserItemExtensionType.d.ts +6 -0
  218. package/dist/type/UserItemExtensionType.d.ts.map +1 -0
  219. package/dist/type/UserItemExtensionType.js +3 -0
  220. package/dist/type/UserItemExtensionType.js.map +1 -0
  221. package/dist/type/UserItemRankListRequestType.d.ts +9 -0
  222. package/dist/type/UserItemRankListRequestType.d.ts.map +1 -0
  223. package/dist/type/UserItemRankListRequestType.js +3 -0
  224. package/dist/type/UserItemRankListRequestType.js.map +1 -0
  225. package/dist/type/UserItemRankListResponseType.d.ts +4 -0
  226. package/dist/type/UserItemRankListResponseType.d.ts.map +1 -0
  227. package/dist/type/UserItemRankListResponseType.js +3 -0
  228. package/dist/type/UserItemRankListResponseType.js.map +1 -0
  229. package/dist/type/UserItemRankType.d.ts +7 -0
  230. package/dist/type/UserItemRankType.d.ts.map +1 -0
  231. package/dist/type/UserItemRankType.js +3 -0
  232. package/dist/type/UserItemRankType.js.map +1 -0
  233. package/package.json +1 -1
package/README.md CHANGED
@@ -30,6 +30,7 @@ console.log(response.result.user.name);
30
30
  - [Learning scope: `exam_id`, `exam_skill_id`, `exam_skill_task_id`](#learning-scope-exam_id-exam_skill_id-exam_skill_task_id)
31
31
  - [Products and signing](#products-and-signing)
32
32
  - [Contracts, templates and pricing assignments](#contracts-templates-and-pricing-assignments)
33
+ - [Learners: `userCollection`, `userExtension`, `userItem`](#learners-usercollection-userextension-useritem)
33
34
  - [4. Wire format](#4-wire-format)
34
35
  - [Adding or changing an endpoint](#adding-or-changing-an-endpoint)
35
36
  - [Checking the SDK against the API](#checking-the-sdk-against-the-api)
@@ -81,6 +82,10 @@ src/
81
82
  │ │ directory and what a listed package bundles
82
83
  │ ├── BolbolLexemaScope.ts mirrors Bolbol API src/controller/lexema - lexemas (dictionary
83
84
  │ │ entries) and their senses, behind every vocabulary picker
85
+ │ ├── BolbolUserExtensionScope.ts mirrors Bolbol API src/controller/user_extension - the learner's
86
+ │ │ extension list, held like BolbolUserCollectionScope's library (an
87
+ │ │ add takes the extension's collection too), each extension switched
88
+ │ │ on or off, and the components of the enabled ones
84
89
  │ └── ... one file per backend controller folder
85
90
  └── type/
86
91
  ├── UserRowType.ts a table row
@@ -393,7 +398,7 @@ export type TranslationType = { [language_code in LanguageCodeType]?: string };
393
398
  Optionality follows the Zod schema (`translationSchema(...).optional()` →
394
399
  `name_translations?: TranslationPatchType`). Leave the field out when no
395
400
  language changed.
396
- - **Flattened detail columns (`academy.item_version.details_*`)** each get their
401
+ - **Flattened detail columns (`collection.item_version.details_*`)** each get their
397
402
  own sibling `_translations` column, same convention as every other
398
403
  translation column. Plain translations use `TranslationType` /
399
404
  `TranslationPatchType`; choice-keyed translations (e.g.
@@ -401,7 +406,7 @@ export type TranslationType = { [language_code in LanguageCodeType]?: string };
401
406
  `ChoiceTranslationType<TranslationType>` on the RowType and
402
407
  `ChoiceTranslationType<TranslationPatchType | null>` on the RequestType
403
408
  (`null` on a choice removes all its translations). Shape and rules:
404
- `Bolbol API/rules/Translation.md`, "Translating `academy.item_version` detail
409
+ `Bolbol API/rules/Translation.md`, "Translating `collection.item_version` detail
405
410
  columns".
406
411
  - **Translation overlays.** A teacher's ref asset / ref item
407
412
  (`RefAssetRowType`, `RefItemRowType`) carries only the `_translations`
@@ -446,7 +451,9 @@ notes_private: string | null; // the owner's own notes
446
451
  `ExtensionPreviewType`, `MaterialPreviewType`, `CoursePreviewType`,
447
452
  `EventPreviewType` and `ComponentPreviewType` with its children carry
448
453
  their rows as `Omit<..., "notes_private">`, so one shape serves both
449
- (`PackagePreviewType`, whose own `package` row is the packager's). An
454
+ (`PackagePreviewType`, whose own `package` row is the packager's) - and a
455
+ learner too: the per-item read answers `ComponentPreviewType` as it is
456
+ ([Learners](#learners-usercollection-userextension-useritem)). An
450
457
  `Omit` only narrows the type: the backend builds these shapes field by
451
458
  field (`Bolbol API/rules/Notes.md`).
452
459
  - Create / Update bodies take `notes?: string | null`,
@@ -507,21 +514,22 @@ owner_uid: string; // its academy_uid or teacher_uid, by owner_type
507
514
  academy extending its own collection signs none of the collection's
508
515
  contracts (P11).
509
516
  - What an owner may create is granted per kind by Bolbol
510
- (`ManageAuthorizationEnum`, ten kinds: Collection - academy only -
511
- Extension, Material, Course, Event, Package, Video, Podcast, File, Url).
517
+ (`ManageAuthorizationEnum`, six kinds: Collection - academy only -
518
+ Extension, Material, Course, Event, Package).
512
519
  `teacher.authorization.get` / `academy.authorization.get` answer one
513
- `OwnerAuthorizationType` per kind (nine for a teacher); a gated call
520
+ `OwnerAuthorizationType` per kind (five for a teacher); a gated call
514
521
  without a grant is a 403 `AUTHORIZATION_REQUIRED` /
515
522
  `AUTHORIZATION_EXPIRED`, and a grant is asked for with a
516
523
  `BolbolTeacherManage*` / `BolbolAcademyManage*` request, one per kind and
517
524
  owner (rule 1 has the date helpers). Every gated call asks exactly one
518
525
  kind: a product's kind gates its create and its publish (Package also a
519
- product add, Collection also the series, asset and item creates), a
520
- resource's kind its create - and Extension gates components too: an
526
+ product add, Collection also the series, asset and item creates),
527
+ Material also every folder and resource create - and Extension gates
528
+ components too: an
521
529
  extension's component add and every component create ask Extension alone
522
530
  (Bolbol API decision P16, which retires N14's pair of Package and
523
531
  ComponentForCollection / ComponentForResources). Learning kits and their
524
- children, a component's children, material resources, folders, pricings,
532
+ children, a component's children, material resources, pricings,
525
533
  pricing assignments and contract templates are never gated.
526
534
 
527
535
  ### Learning scope: `exam_id`, `exam_skill_id`, `exam_skill_task_id`
@@ -626,11 +634,13 @@ stated in the "Decisions" section of `Bolbol API/rules/Product.md`):
626
634
  private, so it reads the same for everyone.
627
635
  - **Identity and version.** A product row carries its identity - the owner
628
636
  pair (a collection its `academy_uid`), `name` + `name_translations` (1-128
629
- characters), `signed` and its language / exam or scopes - and its
630
- latest version's content, flattened. The name and the scopes are edited in
631
- place (P3, P5); the notes trio and every other descriptive column (a
632
- course's schedule included) live on the version, so an edit lands on a
633
- draft that only `<product>.version.publish` publishes. A package bundles
637
+ characters), `signed` and its language / exam or scopes, an extension also
638
+ its `color` and `icon` (Bolbol API decision E7) - and its latest version's
639
+ content, flattened. The name, the scopes and an extension's colour and
640
+ icon are edited in place (P3, P5, E7); the notes trio and every other
641
+ descriptive column (a course's schedule included) live on the version, so
642
+ an edit lands on a draft that only `<product>.version.publish` publishes.
643
+ A package bundles
634
644
  products of its language only - and of its exam too, for a collection or
635
645
  an extension (P6) - and pins their published versions: its publish moves
636
646
  every pin to the product's latest published version and never publishes
@@ -722,8 +732,9 @@ tasks, counted) and on the package (its pins).
722
732
  no assignment is in force: the app then shows no price at all
723
733
  (instruction item 9). `null` only means that no price is drawn, not what
724
734
  taking the product costs - that is answered where it is taken: for a
725
- collection, `UserCollectionGet`'s `price`, a Free quote while no
726
- assignment is in force. Reading it signs nothing.
735
+ collection, `UserCollectionGet`'s `price`, for an extension
736
+ `UserExtensionGet`'s, each a Free quote while no assignment is in force.
737
+ Reading it signs nothing.
727
738
  - **The event directory** lists only the events that have not ended
728
739
  (`ends_at` still ahead, one under way included), soonest first by
729
740
  `starts_at`; an ended event stays readable through its profile.
@@ -813,11 +824,18 @@ owner_uid: string; // "" for Bolbol
813
824
  - **Expiry only shows** (P21): `is_expired` is computed as of the read; the
814
825
  product keeps its pins, its listing and its sales, and nobody is notified.
815
826
  The one thing expiry ends is an exclusive contract's hold.
827
+ - **A void ends a learner's sale**: `userCollection.collection.remove` and
828
+ `userExtension.extension.remove` void the signed contract (`voided_at`,
829
+ `is_voided`). The row stays as the record, and the learner's `get` still
830
+ answers it, but it is no longer in force: adding the product again writes
831
+ a new contract to sign.
816
832
  - The owners' endpoints are `teacher.contract` / `academy.contract`: `list`
817
833
  (newest first; `role`, `type`, `product_type` + `product_uid`, `signed`),
818
- `get`, `update`, `sign` and `message.list` / `message.add`. The
819
- learner-phase types (`Owner_<Product>_Sell_User`, the memberships) are
820
- defined, but nothing writes them yet.
834
+ `get`, `update`, `sign` and `message.list` / `message.add`. Of the
835
+ learner-phase types (`Owner_<Product>_Sell_User`, the memberships) a
836
+ collection's and an extension's Sell are written so far
837
+ (`Owner_Collection_Sell_User`, `Owner_Extension_Sell_User`), each by a
838
+ learner's add ([Learners](#learners-usercollection-userextension-useritem)).
821
839
 
822
840
  **Templates and slots.** A contract template (`ContractTemplateRowType`)
823
841
  holds the terms an owner offers under one contract type (`type`, fixed at
@@ -871,7 +889,11 @@ null end is open - and `is_in_force`). Assignments are not versioned, so no
871
889
  publish is needed; they are soft-deleted and never overlap (409
872
890
  `PRICING_ASSIGNMENT_OVERLAP`), so at most one is in force. The create and
873
891
  the update both take `PricingAssignmentBodyType`, and an update replaces
874
- the whole assignment: an end left out is open afterwards. A pricing that a
892
+ the whole assignment: an end left out is open afterwards. `pricingAssignment.list`
893
+ on the owner scope itself (`academy` / `teacher`) lists those of all the
894
+ owner's products, each row (`OwnerPricingAssignmentRowType`) naming its
895
+ product in `product` (`ProductSummaryType`); a row is written through its
896
+ product's own endpoints. A pricing that a
875
897
  live assignment, a live template or a membership column names cannot be
876
898
  deleted (409 `PRICING_IN_USE`). `PriceQuoteType` is what a consumer would
877
899
  pay under one contract type right now: the contract in force when there is
@@ -879,8 +901,8 @@ one, else what a new contract would copy - for a Sell type, from the
879
901
  product's assignment in force (P13). It carries `source`
880
902
  (`PriceQuoteSourceEnum`: Contract, Assignment - formerly Pricing - or Free),
881
903
  `pricing_assignment_uid`, and the fraction with its rounded whole
882
- `percentage` (0-100). Every directory row's `price` and `UserCollectionGet`'s
883
- `price` are such quotes.
904
+ `percentage` (0-100). Every directory row's `price` and the `price` of
905
+ `UserCollectionGet` and `UserExtensionGet` are such quotes.
884
906
 
885
907
  **The Bolbol queue.** Staff work on contracts through `BolbolBolbolScope`,
886
908
  behind two policies: `UserPolicyEnum.ManageContract` for `contract`,
@@ -905,6 +927,92 @@ behind two policies: `UserPolicyEnum.ManageContract` for `contract`,
905
927
  never overwritten by the seeder again, and contracts already written keep
906
928
  their terms.
907
929
 
930
+ ### Learners: `userCollection`, `userExtension`, `userItem`
931
+
932
+ What a signed-in learner takes and studies sits under `/user/...`, on three
933
+ scopes (the backend rule is `Bolbol API/rules/Student.md`; the E numbers are
934
+ the decisions of `Bolbol API/plan.html`). Every call acts for the session's
935
+ user, whose uid is never sent. Besides the learner's own note and
936
+ annotations on an item (`userItem.item.get` / `save`,
937
+ `userItem.item.annotation`), they are:
938
+
939
+ | Endpoint | Method | Request | Response |
940
+ | --- | --- | --- | --- |
941
+ | `GET /user/collection` | `userCollection.collection.list` | paging | `ListPageType<DirectoryCollectionType>`, the most recently added first |
942
+ | `GET /user/collection/:collection_uid` | `userCollection.collection.get` | - | `UserCollectionRowType` |
943
+ | `POST /user/collection` | `userCollection.collection.add` | `{ collection_uid }` | `UserCollectionRowType` |
944
+ | `DELETE /user/collection/:collection_uid` | `userCollection.collection.remove` | - | `{ message }` |
945
+ | `GET /user/extension` | `userExtension.extension.list` | `collection_uid?`, `enabled?`, paging | `ListPageType<UserExtensionEntryType>`, first added first |
946
+ | `GET /user/extension/:extension_uid` | `userExtension.extension.get` | - | `UserExtensionRowType` |
947
+ | `POST /user/extension` | `userExtension.extension.add` | `{ extension_uid }` | `UserExtensionRowType` |
948
+ | `PUT /user/extension/:extension_uid` | `userExtension.extension.update` | `{ enabled }` | `UserExtensionRowType` |
949
+ | `DELETE /user/extension/:extension_uid` | `userExtension.extension.remove` | - | `{ message }` |
950
+ | `GET /user/extension/component` | `userExtension.component.list` | `collection_uid?`, `type?`, paging | `ListPageType<ExtensionVersion_ComponentVersionRowType>` |
951
+ | `GET /user/item/:item_uid/component` | `userItem.item.component.list` | `extension_uids?`, `component_uids?` | `{ extensions: UserItemExtensionType[]; components: ComponentPreviewType[] }` |
952
+ | `GET /user/item/rank` | `userItem.rank.list` | `collection_uid`, `component_uid`, `exam_skill_id?`, `exam_skill_task_id?`, `search?`, paging | `ListPageType<UserItemRankType>` |
953
+
954
+ - **The library and the extension list.** A list row is the product itself
955
+ in its directory shape - a `DirectoryCollectionType`, or a
956
+ `DirectoryExtensionType` inside a `UserExtensionEntryType` with the
957
+ membership's `enabled` and `added_at` - so it renders the same wherever it
958
+ was found. `get` answers in one read where the learner stands with one
959
+ product: `added`, the `price` taking it costs and the `contract` it is
960
+ taken under; `UserExtensionRowType` adds `enabled` and, in `collection`,
961
+ the `UserCollectionRowType` of the collection the extension is built on.
962
+ The extension list's order, first added first, is the provider order
963
+ every page draws extensions in (E11).
964
+ - **Taking a product** (E2). `add` writes the learner's Sell contract
965
+ (`Owner_Collection_Sell_User`, `Owner_Extension_Sell_User`), pre-signed by
966
+ the product's owner, free or paid; asking again answers the same state.
967
+ The product joins the list when the learner signs it
968
+ (`billing.contract.sign`), so `added` stays false until then. Nothing is
969
+ charged: a paid contract is granted like a free one.
970
+ - **An extension sells its collection** (E3). Holding the collection is not
971
+ required to add an extension: while the learner does not hold it, the add
972
+ also writes the collection's contract (the row's `collection.contract`),
973
+ a new one recording the extension that sold it
974
+ (`ContractRowType.extension_uid_seller`, E25). That contract is a
975
+ dependency, settled first: the extension's signature answers 409
976
+ `USER_EXTENSION_COLLECTION_REQUIRED` until the collection is held.
977
+ Removing the extension leaves the collection in the library, and a
978
+ collection is not removed while an extension built on it is in the list,
979
+ enabled or not (409 `USER_COLLECTION_HAS_EXTENSIONS`): the learner removes
980
+ those first - `extension.list({ collection_uid })` lists them - and
981
+ nothing they can see cascades. A membership of an extension the list
982
+ cannot show (deleted by its owner, or unsigned again) leaves with the
983
+ collection, its signed sale voided (Bolbol API rules/Student.md). Either removal voids the signed contract ([A void ends
984
+ a learner's sale](#contracts-templates-and-pricing-assignments)).
985
+ - **Enabled only** (E4). `extension.update` switches an extension on or off;
986
+ a re-added one starts enabled. A disabled extension stays in the list -
987
+ `extension.list` answers both unless `enabled` narrows it, for the one
988
+ place that switches it back on - but every other read of the extensions
989
+ in use skips it: `userExtension.component.list` (the pins of the enabled
990
+ extensions' latest published versions, the extensions first added first,
991
+ then each one's `sort_order`), the per-item read and the rank list.
992
+ - **The per-item read** (E5). Extension content reaches a learner one item
993
+ at a time: `userItem.item.component.list` answers what the enabled
994
+ extensions change on the item - `extensions` in provider order, each
995
+ naming its components (`UserItemExtensionType`), and `components`, each
996
+ once, as the owner preview's `ComponentPreviewType` cut down to the entries
997
+ for this item and its asset, with the `kit` its ref items pin in the
998
+ learner-safe `Answering*` shapes (E6). A child applies only when it pins
999
+ the very version the learner is shown (`DirectoryItemType.item_version_uid`,
1000
+ `AnsweringAssetType.asset_version_uid`), and an extension with no match is
1001
+ left out. Only published versions are read, never a draft, and a locked
1002
+ item answers both lists empty. `extension_uids` / `component_uids` narrow
1003
+ it, sent as repeated keys ([4. Wire format](#4-wire-format)): an empty
1004
+ list puts no key on the wire, so it reads as omitted.
1005
+ - **The rank list** (E16). `userItem.rank.list` lists the items of a
1006
+ collection the learner holds (403 `COLLECTION_NOT_HELD` otherwise, as the
1007
+ item directory answers) in one `RefItem_Rank` component's rank - one that
1008
+ an enabled extension of the list pins, as `userExtension.component.list`
1009
+ offers them with `type: RefItem_Rank` - the higher number first, items of
1010
+ equal rank in the collection's order, unranked items last. A row
1011
+ (`UserItemRankType`) is the item in its directory shape with its `rank`
1012
+ and the series it opens in. `collection_uid` and `component_uid` are
1013
+ required, so its `request` has no `{}` default; 20 rows a page by default,
1014
+ 60 at most.
1015
+
908
1016
  ### 4. Wire format
909
1017
 
910
1018
  - The API reads the session token from the `b-token` header. `HTTPClient` adds
@@ -984,6 +1092,11 @@ exporting exactly one type named after the file, with one of the five suffixes.
984
1092
  A method's trailing `options` that only carries an abort signal (rule 2) is no
985
1093
  part of the contract, and the checks read the arguments before it.
986
1094
 
1095
+ Every check is one test case: seven per controller, and four for the whole
1096
+ run - the three above and one that the parse found controllers and methods
1097
+ at all. Against the API this version mirrors (944 controllers) that makes
1098
+ 6612 cases, every one green; a new controller adds seven.
1099
+
987
1100
  What it cannot read is the shape of a controller's *output* (`handle()` builds
988
1101
  it in code), so a ResponseType's fields are still a review question - the
989
1102
  marker comment and the one-file-per-type rule make that quick to answer.
@@ -21,6 +21,7 @@ import { BolbolSeriesScope } from "./scope/BolbolSeriesScope";
21
21
  import { BolbolTeacherScope } from "./scope/BolbolTeacherScope";
22
22
  import { BolbolTextScope } from "./scope/BolbolTextScope";
23
23
  import { BolbolUserCollectionScope } from "./scope/BolbolUserCollectionScope";
24
+ import { BolbolUserExtensionScope } from "./scope/BolbolUserExtensionScope";
24
25
  import { BolbolUserFileScope } from "./scope/BolbolUserFileScope";
25
26
  import { BolbolUserItemScope } from "./scope/BolbolUserItemScope";
26
27
  import { BolbolUserScope } from "./scope/BolbolUserScope";
@@ -50,6 +51,7 @@ export declare class BolbolServer {
50
51
  readonly text: BolbolTextScope;
51
52
  readonly user: BolbolUserScope;
52
53
  readonly userCollection: BolbolUserCollectionScope;
54
+ readonly userExtension: BolbolUserExtensionScope;
53
55
  readonly userFile: BolbolUserFileScope;
54
56
  readonly userItem: BolbolUserItemScope;
55
57
  constructor(options: HTTPClientOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"BolbolServer.d.ts","sourceRoot":"","sources":["../src/BolbolServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BolbolServer.d.ts","sourceRoot":"","sources":["../src/BolbolServer.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ const BolbolSeriesScope_1 = require("./scope/BolbolSeriesScope");
24
24
  const BolbolTeacherScope_1 = require("./scope/BolbolTeacherScope");
25
25
  const BolbolTextScope_1 = require("./scope/BolbolTextScope");
26
26
  const BolbolUserCollectionScope_1 = require("./scope/BolbolUserCollectionScope");
27
+ const BolbolUserExtensionScope_1 = require("./scope/BolbolUserExtensionScope");
27
28
  const BolbolUserFileScope_1 = require("./scope/BolbolUserFileScope");
28
29
  const BolbolUserItemScope_1 = require("./scope/BolbolUserItemScope");
29
30
  const BolbolUserScope_1 = require("./scope/BolbolUserScope");
@@ -56,6 +57,7 @@ class BolbolServer {
56
57
  text;
57
58
  user;
58
59
  userCollection;
60
+ userExtension;
59
61
  userFile;
60
62
  userItem;
61
63
  constructor(options) {
@@ -83,6 +85,7 @@ class BolbolServer {
83
85
  this.text = new BolbolTextScope_1.BolbolTextScope(this.http);
84
86
  this.user = new BolbolUserScope_1.BolbolUserScope(this.http);
85
87
  this.userCollection = new BolbolUserCollectionScope_1.BolbolUserCollectionScope(this.http);
88
+ this.userExtension = new BolbolUserExtensionScope_1.BolbolUserExtensionScope(this.http);
86
89
  this.userFile = new BolbolUserFileScope_1.BolbolUserFileScope(this.http);
87
90
  this.userItem = new BolbolUserItemScope_1.BolbolUserItemScope(this.http);
88
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BolbolServer.js","sourceRoot":"","sources":["../src/BolbolServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BolbolServer.js","sourceRoot":"","sources":["../src/BolbolServer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -23,6 +23,7 @@ export * from "./scope/BolbolSeriesScope";
23
23
  export * from "./scope/BolbolTeacherScope";
24
24
  export * from "./scope/BolbolTextScope";
25
25
  export * from "./scope/BolbolUserCollectionScope";
26
+ export * from "./scope/BolbolUserExtensionScope";
26
27
  export * from "./scope/BolbolUserFileScope";
27
28
  export * from "./scope/BolbolUserItemScope";
28
29
  export * from "./scope/BolbolUserScope";
@@ -514,6 +515,7 @@ export * from "./type/AcademyPodcastVocabularyListResponseType";
514
515
  export * from "./type/AcademyPodcastVocabularyRemoveResponseType";
515
516
  export * from "./type/AcademyPodcastVocabularyReorderRequestType";
516
517
  export * from "./type/AcademyPodcastVocabularyReorderResponseType";
518
+ export * from "./type/AcademyPricingAssignmentListResponseType";
517
519
  export * from "./type/AcademyPricingCreateRequestType";
518
520
  export * from "./type/AcademyPricingCreateResponseType";
519
521
  export * from "./type/AcademyPricingDeleteResponseType";
@@ -696,6 +698,8 @@ export * from "./type/AnswerStructureInputType";
696
698
  export * from "./type/AnswerStructureRowType";
697
699
  export * from "./type/AnswerVersionRowType";
698
700
  export * from "./type/AnsweringAssetType";
701
+ export * from "./type/AnsweringCategoryTypeType";
702
+ export * from "./type/AnsweringCategoryValueType";
699
703
  export * from "./type/AnsweringConceptScenarioType";
700
704
  export * from "./type/AnsweringConceptType";
701
705
  export * from "./type/AnsweringDetailByTypeType";
@@ -708,6 +712,8 @@ export * from "./type/AnsweringDetailTranslationType";
708
712
  export * from "./type/AnsweringDetailType";
709
713
  export * from "./type/AnsweringDetailWritingDualDocumentType";
710
714
  export * from "./type/AnsweringDetailWritingSingleDocumentType";
715
+ export * from "./type/AnsweringMindsetTopicType";
716
+ export * from "./type/AnsweringMindsetType";
711
717
  export * from "./type/AssetAttachmentRowType";
712
718
  export * from "./type/AssetRowType";
713
719
  export * from "./type/AssetSourceType";
@@ -748,6 +754,11 @@ export * from "./type/AuthorizationStatusEnum";
748
754
  export * from "./type/BillingContractGetResponseType";
749
755
  export * from "./type/BillingContractListRequestType";
750
756
  export * from "./type/BillingContractListResponseType";
757
+ export * from "./type/BillingContractMessageAddRequestType";
758
+ export * from "./type/BillingContractMessageAddResponseType";
759
+ export * from "./type/BillingContractMessageListRequestType";
760
+ export * from "./type/BillingContractMessageListResponseType";
761
+ export * from "./type/BillingContractSignResponseType";
751
762
  export * from "./type/BillingCustomerPortalResponseType";
752
763
  export * from "./type/BillingDonationCheckoutRequestType";
753
764
  export * from "./type/BillingDonationCheckoutResponseType";
@@ -848,6 +859,7 @@ export * from "./type/ComponentHierarchyTaskType";
848
859
  export * from "./type/ComponentHierarchyType";
849
860
  export * from "./type/ComponentPreviewAmbiguityType";
850
861
  export * from "./type/ComponentPreviewAnswerType";
862
+ export * from "./type/ComponentPreviewKitType";
851
863
  export * from "./type/ComponentPreviewRefAssetType";
852
864
  export * from "./type/ComponentPreviewRefItemType";
853
865
  export * from "./type/ComponentPreviewType";
@@ -970,6 +982,7 @@ export * from "./type/MindsetRowType";
970
982
  export * from "./type/MindsetVersionRowType";
971
983
  export * from "./type/MindsetVersionTopicRowType";
972
984
  export * from "./type/OwnerAuthorizationType";
985
+ export * from "./type/OwnerPricingAssignmentRowType";
973
986
  export * from "./type/OwnerType";
974
987
  export * from "./type/OwnerTypeEnum";
975
988
  export * from "./type/PackageDirectoryListRequestType";
@@ -1481,6 +1494,7 @@ export * from "./type/TeacherPodcastVocabularyListResponseType";
1481
1494
  export * from "./type/TeacherPodcastVocabularyRemoveResponseType";
1482
1495
  export * from "./type/TeacherPodcastVocabularyReorderRequestType";
1483
1496
  export * from "./type/TeacherPodcastVocabularyReorderResponseType";
1497
+ export * from "./type/TeacherPricingAssignmentListResponseType";
1484
1498
  export * from "./type/TeacherPricingCreateRequestType";
1485
1499
  export * from "./type/TeacherPricingCreateResponseType";
1486
1500
  export * from "./type/TeacherPricingDeleteResponseType";
@@ -1632,6 +1646,18 @@ export * from "./type/UserCollectionListRequestType";
1632
1646
  export * from "./type/UserCollectionListResponseType";
1633
1647
  export * from "./type/UserCollectionRemoveResponseType";
1634
1648
  export * from "./type/UserCollectionRowType";
1649
+ export * from "./type/UserExtensionAddRequestType";
1650
+ export * from "./type/UserExtensionAddResponseType";
1651
+ export * from "./type/UserExtensionComponentListRequestType";
1652
+ export * from "./type/UserExtensionComponentListResponseType";
1653
+ export * from "./type/UserExtensionEntryType";
1654
+ export * from "./type/UserExtensionGetResponseType";
1655
+ export * from "./type/UserExtensionListRequestType";
1656
+ export * from "./type/UserExtensionListResponseType";
1657
+ export * from "./type/UserExtensionRemoveResponseType";
1658
+ export * from "./type/UserExtensionRowType";
1659
+ export * from "./type/UserExtensionUpdateRequestType";
1660
+ export * from "./type/UserExtensionUpdateResponseType";
1635
1661
  export * from "./type/UserFileCheckItemType";
1636
1662
  export * from "./type/UserFileCheckRequestType";
1637
1663
  export * from "./type/UserFileCheckResponseType";
@@ -1652,7 +1678,13 @@ export * from "./type/UserItemAnnotationRemoveResponseType";
1652
1678
  export * from "./type/UserItemAnnotationUpdateRequestType";
1653
1679
  export * from "./type/UserItemAnnotationUpdateResponseType";
1654
1680
  export * from "./type/UserItemCommentType";
1681
+ export * from "./type/UserItemComponentListRequestType";
1682
+ export * from "./type/UserItemComponentListResponseType";
1683
+ export * from "./type/UserItemExtensionType";
1655
1684
  export * from "./type/UserItemGetResponseType";
1685
+ export * from "./type/UserItemRankListRequestType";
1686
+ export * from "./type/UserItemRankListResponseType";
1687
+ export * from "./type/UserItemRankType";
1656
1688
  export * from "./type/UserItemSourceTypeEnum";
1657
1689
  export * from "./type/UserItemTypeEnum";
1658
1690
  export * from "./type/UserItemUpdateRequestType";