@learnorama/mozaik-sdk 0.12.4-staging.47.1 → 0.13.0-staging.48.1

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 (265) hide show
  1. package/dist/api/account.d.ts +1 -1
  2. package/dist/api/account.js.map +1 -1
  3. package/dist/api/admin-catalogue.d.ts +1 -1
  4. package/dist/api/admin-catalogue.js.map +1 -1
  5. package/dist/api/admin-consumption.d.ts +1 -1
  6. package/dist/api/admin-consumption.js.map +1 -1
  7. package/dist/api/admin-contracts.d.ts +1 -1
  8. package/dist/api/admin-contracts.js.map +1 -1
  9. package/dist/api/admin-desk.d.ts +1 -1
  10. package/dist/api/admin-desk.js.map +1 -1
  11. package/dist/api/admin-licenses.d.ts +1 -1
  12. package/dist/api/admin-licenses.js.map +1 -1
  13. package/dist/api/admin-partner-selections.d.ts +1 -1
  14. package/dist/api/admin-partner-selections.js.map +1 -1
  15. package/dist/api/admin-patrons.d.ts +1 -1
  16. package/dist/api/admin-patrons.js.map +1 -1
  17. package/dist/api/admin-reviews.d.ts +1 -1
  18. package/dist/api/admin-reviews.js.map +1 -1
  19. package/dist/api/admin-roles.d.ts +1 -1
  20. package/dist/api/admin-roles.js.map +1 -1
  21. package/dist/api/admin-support.d.ts +1 -1
  22. package/dist/api/admin-support.js.map +1 -1
  23. package/dist/api/admin-tenants.d.ts +1 -1
  24. package/dist/api/admin-tenants.js.map +1 -1
  25. package/dist/api/admin-tutoring.d.ts +1 -1
  26. package/dist/api/admin-tutoring.js.map +1 -1
  27. package/dist/api/auth.d.ts +1 -1
  28. package/dist/api/auth.js.map +1 -1
  29. package/dist/api/biblio-billing-webhooks.d.ts +18 -0
  30. package/dist/api/biblio-billing-webhooks.js +62 -0
  31. package/dist/api/biblio-billing-webhooks.js.map +1 -0
  32. package/dist/api/biblio-billing.d.ts +192 -0
  33. package/dist/api/biblio-billing.js +645 -0
  34. package/dist/api/biblio-billing.js.map +1 -0
  35. package/dist/api/biblio-catalogue.d.ts +1 -1
  36. package/dist/api/biblio-catalogue.js.map +1 -1
  37. package/dist/api/biblio-home.d.ts +1 -1
  38. package/dist/api/biblio-home.js.map +1 -1
  39. package/dist/api/biblio-learning-author-profiles.d.ts +108 -0
  40. package/dist/api/biblio-learning-author-profiles.js +331 -0
  41. package/dist/api/biblio-learning-author-profiles.js.map +1 -0
  42. package/dist/api/biblio-learning-authoring.d.ts +168 -0
  43. package/dist/api/biblio-learning-authoring.js +586 -0
  44. package/dist/api/biblio-learning-authoring.js.map +1 -0
  45. package/dist/api/biblio-learning-editorial.d.ts +54 -0
  46. package/dist/api/biblio-learning-editorial.js +149 -0
  47. package/dist/api/biblio-learning-editorial.js.map +1 -0
  48. package/dist/api/biblio-learning-feedback.d.ts +60 -0
  49. package/dist/api/biblio-learning-feedback.js +180 -0
  50. package/dist/api/biblio-learning-feedback.js.map +1 -0
  51. package/dist/api/biblio-learning-finance.d.ts +186 -0
  52. package/dist/api/biblio-learning-finance.js +622 -0
  53. package/dist/api/biblio-learning-finance.js.map +1 -0
  54. package/dist/api/biblio-learning-integrations.d.ts +60 -0
  55. package/dist/api/biblio-learning-integrations.js +215 -0
  56. package/dist/api/biblio-learning-integrations.js.map +1 -0
  57. package/dist/api/biblio-learning-membership.d.ts +24 -0
  58. package/dist/api/biblio-learning-membership.js +69 -0
  59. package/dist/api/biblio-learning-membership.js.map +1 -0
  60. package/dist/api/biblio-learning.d.ts +222 -0
  61. package/dist/api/biblio-learning.js +697 -0
  62. package/dist/api/biblio-learning.js.map +1 -0
  63. package/dist/api/biblio-library.d.ts +1 -1
  64. package/dist/api/biblio-library.js.map +1 -1
  65. package/dist/api/biblio-nextory.d.ts +1 -1
  66. package/dist/api/biblio-nextory.js.map +1 -1
  67. package/dist/api/biblio-press.d.ts +1 -1
  68. package/dist/api/biblio-press.js.map +1 -1
  69. package/dist/api/biblio-search.d.ts +1 -1
  70. package/dist/api/biblio-search.js.map +1 -1
  71. package/dist/api/biblio-telemetry.d.ts +1 -1
  72. package/dist/api/biblio-telemetry.js.map +1 -1
  73. package/dist/api/consumption.d.ts +1 -1
  74. package/dist/api/consumption.js.map +1 -1
  75. package/dist/api/cvs-app.d.ts +1 -1
  76. package/dist/api/cvs-app.js.map +1 -1
  77. package/dist/api/cvs-documents.d.ts +1 -1
  78. package/dist/api/cvs-documents.js.map +1 -1
  79. package/dist/api/cvs-favorites.d.ts +1 -1
  80. package/dist/api/cvs-favorites.js.map +1 -1
  81. package/dist/api/cvs-ils.d.ts +1 -1
  82. package/dist/api/cvs-ils.js.map +1 -1
  83. package/dist/api/cvs-loans.d.ts +1 -1
  84. package/dist/api/cvs-loans.js.map +1 -1
  85. package/dist/api/cvs-payments.d.ts +1 -1
  86. package/dist/api/cvs-payments.js.map +1 -1
  87. package/dist/api/cvs-streaming.d.ts +1 -1
  88. package/dist/api/cvs-streaming.js.map +1 -1
  89. package/dist/api/index.d.ts +11 -1
  90. package/dist/api/index.js +11 -1
  91. package/dist/api/partner-catalogue.d.ts +1 -1
  92. package/dist/api/partner-catalogue.js.map +1 -1
  93. package/dist/api/partner-reader.d.ts +1 -1
  94. package/dist/api/partner-reader.js.map +1 -1
  95. package/dist/api/profiles.d.ts +1 -1
  96. package/dist/api/profiles.js.map +1 -1
  97. package/dist/api/search.d.ts +1 -1
  98. package/dist/api/search.js.map +1 -1
  99. package/dist/api/tutoring-catalogue.d.ts +1 -1
  100. package/dist/api/tutoring-catalogue.js.map +1 -1
  101. package/dist/api/tutoring-chat.d.ts +1 -1
  102. package/dist/api/tutoring-chat.js.map +1 -1
  103. package/dist/api/tutoring-dispatch.d.ts +1 -1
  104. package/dist/api/tutoring-dispatch.js.map +1 -1
  105. package/dist/api/tutoring-practitioner.d.ts +1 -1
  106. package/dist/api/tutoring-practitioner.js.map +1 -1
  107. package/dist/api/tutoring-requests.d.ts +1 -1
  108. package/dist/api/tutoring-requests.js.map +1 -1
  109. package/dist/chunks/client2.d.ts +1 -1
  110. package/dist/chunks/connection.d.ts +1 -1
  111. package/dist/chunks/index.d.ts +10038 -3487
  112. package/dist/index.d.ts +3 -3
  113. package/dist/index.js +3 -3
  114. package/dist/index.js.map +1 -1
  115. package/dist/models.d.ts +2 -2
  116. package/dist/models.js +329 -1
  117. package/dist/models.js.map +1 -1
  118. package/dist/react/account.d.ts +1 -1
  119. package/dist/react/account.js +1 -1
  120. package/dist/react/account.js.map +1 -1
  121. package/dist/react/admin-catalogue.d.ts +1 -1
  122. package/dist/react/admin-catalogue.js +1 -1
  123. package/dist/react/admin-catalogue.js.map +1 -1
  124. package/dist/react/admin-consumption.d.ts +1 -1
  125. package/dist/react/admin-consumption.js +1 -1
  126. package/dist/react/admin-consumption.js.map +1 -1
  127. package/dist/react/admin-contracts.d.ts +1 -1
  128. package/dist/react/admin-contracts.js +1 -1
  129. package/dist/react/admin-contracts.js.map +1 -1
  130. package/dist/react/admin-desk.d.ts +1 -1
  131. package/dist/react/admin-desk.js +1 -1
  132. package/dist/react/admin-desk.js.map +1 -1
  133. package/dist/react/admin-licenses.d.ts +1 -1
  134. package/dist/react/admin-licenses.js +1 -1
  135. package/dist/react/admin-licenses.js.map +1 -1
  136. package/dist/react/admin-partner-selections.d.ts +1 -1
  137. package/dist/react/admin-partner-selections.js +1 -1
  138. package/dist/react/admin-partner-selections.js.map +1 -1
  139. package/dist/react/admin-patrons.d.ts +1 -1
  140. package/dist/react/admin-patrons.js +1 -1
  141. package/dist/react/admin-patrons.js.map +1 -1
  142. package/dist/react/admin-reviews.d.ts +1 -1
  143. package/dist/react/admin-reviews.js +1 -1
  144. package/dist/react/admin-reviews.js.map +1 -1
  145. package/dist/react/admin-roles.d.ts +1 -1
  146. package/dist/react/admin-roles.js +1 -1
  147. package/dist/react/admin-roles.js.map +1 -1
  148. package/dist/react/admin-support.d.ts +1 -1
  149. package/dist/react/admin-support.js +1 -1
  150. package/dist/react/admin-support.js.map +1 -1
  151. package/dist/react/admin-tenants.d.ts +1 -1
  152. package/dist/react/admin-tenants.js +1 -1
  153. package/dist/react/admin-tenants.js.map +1 -1
  154. package/dist/react/admin-tutoring.d.ts +1 -1
  155. package/dist/react/admin-tutoring.js +1 -1
  156. package/dist/react/admin-tutoring.js.map +1 -1
  157. package/dist/react/auth.d.ts +1 -1
  158. package/dist/react/auth.js +1 -1
  159. package/dist/react/auth.js.map +1 -1
  160. package/dist/react/biblio-billing-webhooks.d.ts +56 -0
  161. package/dist/react/biblio-billing-webhooks.js +126 -0
  162. package/dist/react/biblio-billing-webhooks.js.map +1 -0
  163. package/dist/react/biblio-billing.d.ts +876 -0
  164. package/dist/react/biblio-billing.js +1491 -0
  165. package/dist/react/biblio-billing.js.map +1 -0
  166. package/dist/react/biblio-catalogue.d.ts +1 -1
  167. package/dist/react/biblio-catalogue.js +1 -1
  168. package/dist/react/biblio-catalogue.js.map +1 -1
  169. package/dist/react/biblio-home.d.ts +1 -1
  170. package/dist/react/biblio-home.js +1 -1
  171. package/dist/react/biblio-home.js.map +1 -1
  172. package/dist/react/biblio-learning-author-profiles.d.ts +513 -0
  173. package/dist/react/biblio-learning-author-profiles.js +795 -0
  174. package/dist/react/biblio-learning-author-profiles.js.map +1 -0
  175. package/dist/react/biblio-learning-authoring.d.ts +745 -0
  176. package/dist/react/biblio-learning-authoring.js +1335 -0
  177. package/dist/react/biblio-learning-authoring.js.map +1 -0
  178. package/dist/react/biblio-learning-editorial.d.ts +264 -0
  179. package/dist/react/biblio-learning-editorial.js +371 -0
  180. package/dist/react/biblio-learning-editorial.js.map +1 -0
  181. package/dist/react/biblio-learning-feedback.d.ts +280 -0
  182. package/dist/react/biblio-learning-feedback.js +433 -0
  183. package/dist/react/biblio-learning-feedback.js.map +1 -0
  184. package/dist/react/biblio-learning-finance.d.ts +868 -0
  185. package/dist/react/biblio-learning-finance.js +1439 -0
  186. package/dist/react/biblio-learning-finance.js.map +1 -0
  187. package/dist/react/biblio-learning-integrations.d.ts +237 -0
  188. package/dist/react/biblio-learning-integrations.js +483 -0
  189. package/dist/react/biblio-learning-integrations.js.map +1 -0
  190. package/dist/react/biblio-learning-membership.d.ts +99 -0
  191. package/dist/react/biblio-learning-membership.js +165 -0
  192. package/dist/react/biblio-learning-membership.js.map +1 -0
  193. package/dist/react/biblio-learning.d.ts +1047 -0
  194. package/dist/react/biblio-learning.js +1667 -0
  195. package/dist/react/biblio-learning.js.map +1 -0
  196. package/dist/react/biblio-library.d.ts +1 -1
  197. package/dist/react/biblio-library.js +1 -1
  198. package/dist/react/biblio-library.js.map +1 -1
  199. package/dist/react/biblio-nextory.d.ts +1 -1
  200. package/dist/react/biblio-nextory.js +1 -1
  201. package/dist/react/biblio-nextory.js.map +1 -1
  202. package/dist/react/biblio-press.d.ts +1 -1
  203. package/dist/react/biblio-press.js +1 -1
  204. package/dist/react/biblio-press.js.map +1 -1
  205. package/dist/react/biblio-search.d.ts +1 -1
  206. package/dist/react/biblio-search.js +1 -1
  207. package/dist/react/biblio-search.js.map +1 -1
  208. package/dist/react/biblio-telemetry.d.ts +1 -1
  209. package/dist/react/biblio-telemetry.js +1 -1
  210. package/dist/react/biblio-telemetry.js.map +1 -1
  211. package/dist/react/chat.d.ts +1 -1
  212. package/dist/react/consumption.d.ts +1 -1
  213. package/dist/react/consumption.js +1 -1
  214. package/dist/react/consumption.js.map +1 -1
  215. package/dist/react/cvs-app.d.ts +1 -1
  216. package/dist/react/cvs-app.js +1 -1
  217. package/dist/react/cvs-app.js.map +1 -1
  218. package/dist/react/cvs-documents.d.ts +1 -1
  219. package/dist/react/cvs-documents.js +1 -1
  220. package/dist/react/cvs-documents.js.map +1 -1
  221. package/dist/react/cvs-favorites.d.ts +1 -1
  222. package/dist/react/cvs-favorites.js +1 -1
  223. package/dist/react/cvs-favorites.js.map +1 -1
  224. package/dist/react/cvs-ils.d.ts +1 -1
  225. package/dist/react/cvs-ils.js +1 -1
  226. package/dist/react/cvs-ils.js.map +1 -1
  227. package/dist/react/cvs-loans.d.ts +1 -1
  228. package/dist/react/cvs-loans.js +1 -1
  229. package/dist/react/cvs-loans.js.map +1 -1
  230. package/dist/react/cvs-payments.d.ts +1 -1
  231. package/dist/react/cvs-payments.js +1 -1
  232. package/dist/react/cvs-payments.js.map +1 -1
  233. package/dist/react/cvs-streaming.d.ts +1 -1
  234. package/dist/react/cvs-streaming.js +1 -1
  235. package/dist/react/cvs-streaming.js.map +1 -1
  236. package/dist/react/index.d.ts +11 -1
  237. package/dist/react/index.js +11 -1
  238. package/dist/react/partner-catalogue.d.ts +1 -1
  239. package/dist/react/partner-catalogue.js +1 -1
  240. package/dist/react/partner-catalogue.js.map +1 -1
  241. package/dist/react/partner-reader.d.ts +1 -1
  242. package/dist/react/partner-reader.js +1 -1
  243. package/dist/react/partner-reader.js.map +1 -1
  244. package/dist/react/profiles.d.ts +1 -1
  245. package/dist/react/profiles.js +1 -1
  246. package/dist/react/profiles.js.map +1 -1
  247. package/dist/react/search.d.ts +1 -1
  248. package/dist/react/search.js +1 -1
  249. package/dist/react/search.js.map +1 -1
  250. package/dist/react/tutoring-catalogue.d.ts +1 -1
  251. package/dist/react/tutoring-catalogue.js +1 -1
  252. package/dist/react/tutoring-catalogue.js.map +1 -1
  253. package/dist/react/tutoring-chat.d.ts +1 -1
  254. package/dist/react/tutoring-chat.js +1 -1
  255. package/dist/react/tutoring-chat.js.map +1 -1
  256. package/dist/react/tutoring-dispatch.d.ts +1 -1
  257. package/dist/react/tutoring-dispatch.js +1 -1
  258. package/dist/react/tutoring-dispatch.js.map +1 -1
  259. package/dist/react/tutoring-practitioner.d.ts +1 -1
  260. package/dist/react/tutoring-practitioner.js +1 -1
  261. package/dist/react/tutoring-practitioner.js.map +1 -1
  262. package/dist/react/tutoring-requests.d.ts +1 -1
  263. package/dist/react/tutoring-requests.js +1 -1
  264. package/dist/react/tutoring-requests.js.map +1 -1
  265. package/package.json +7 -7
@@ -0,0 +1,331 @@
1
+
2
+ import { r as request } from "../chunks/client.js";
3
+ //#region src/api/biblio-learning-author-profiles/biblio-learning-author-profiles.ts
4
+ const getLearningOwnAuthorProfilesUrl = (params) => {
5
+ const normalizedParams = new URLSearchParams();
6
+ Object.entries(params || {}).forEach(([key, value]) => {
7
+ if (value !== void 0) normalizedParams.append(key, value === null ? "null" : String(value));
8
+ });
9
+ const stringifiedParams = normalizedParams.toString();
10
+ return stringifiedParams.length > 0 ? `/learning/author/profiles?${stringifiedParams}` : `/learning/author/profiles`;
11
+ };
12
+ /**
13
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Includes inactive drafts and active public profiles, ordered by author ID. An imported active public snapshot may have no native publishedRevisionId; this does not imply that a publication date is known.
14
+ * @summary List author profiles I can manage
15
+ */
16
+ const learningOwnAuthorProfiles = async (params, options) => {
17
+ return request(getLearningOwnAuthorProfilesUrl(params), {
18
+ ...options,
19
+ method: "GET"
20
+ });
21
+ };
22
+ const getLearningCreateAuthorProfileUrl = () => {
23
+ return `/learning/author/profiles`;
24
+ };
25
+ /**
26
+ * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Creates an inactive teaching profile and its initial editable revision. The definition is not public until approved. Omitting authorId creates a new public author identity; binding an existing authorId or another ownerUserId requires global authority. Portrait assets must be eligible images in the chosen catalogue.
27
+ * @summary Create an author profile and its first draft
28
+ */
29
+ const learningCreateAuthorProfile = async (learningAuthorProfileCreateWrite, options) => {
30
+ const getHeaders = (h) => {
31
+ if (!h) return {};
32
+ if (h instanceof Headers) return Object.fromEntries(h.entries());
33
+ if (Symbol.iterator in h) return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
34
+ const headers = {};
35
+ for (const [name, value] of Object.entries(h)) if (value !== void 0) headers[name] = value;
36
+ return headers;
37
+ };
38
+ return request(getLearningCreateAuthorProfileUrl(), {
39
+ ...options,
40
+ method: "POST",
41
+ headers: {
42
+ "Content-Type": "application/json",
43
+ ...getHeaders(options?.headers)
44
+ },
45
+ body: JSON.stringify(learningAuthorProfileCreateWrite)
46
+ });
47
+ };
48
+ const getLearningAuthorProfileAdminUrl = (authorId) => {
49
+ return `/learning/author/profiles/${authorId}`;
50
+ };
51
+ /**
52
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Returns ownership and the native published revision pointer without exposing raw provider metadata. authorId is the existing public author identity. A null publishedRevisionId can describe a newly created profile or an imported public snapshot; use isActive and revision history for context.
53
+ * @summary Read an author's private profile metadata
54
+ */
55
+ const learningAuthorProfileAdmin = async (authorId, options) => {
56
+ return request(getLearningAuthorProfileAdminUrl(authorId), {
57
+ ...options,
58
+ method: "GET"
59
+ });
60
+ };
61
+ const getLearningAuthorMessagesUrl = (authorId, params) => {
62
+ const normalizedParams = new URLSearchParams();
63
+ Object.entries(params || {}).forEach(([key, value]) => {
64
+ if (value !== void 0) normalizedParams.append(key, value === null ? "null" : String(value));
65
+ });
66
+ const stringifiedParams = normalizedParams.toString();
67
+ return stringifiedParams.length > 0 ? `/learning/author/profiles/${authorId}/messages?${stringifiedParams}` : `/learning/author/profiles/${authorId}/messages`;
68
+ };
69
+ /**
70
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by message ID. Includes native profile discussion and matching imported source messages when available. Author messages do not carry courseId or course revisionId. Historical messages can have unknown author attribution or creation date.
71
+ * @summary List private editorial messages for an author
72
+ */
73
+ const learningAuthorMessages = async (authorId, params, options) => {
74
+ return request(getLearningAuthorMessagesUrl(authorId, params), {
75
+ ...options,
76
+ method: "GET"
77
+ });
78
+ };
79
+ const getLearningAddAuthorMessageUrl = (authorId) => {
80
+ return `/learning/author/profiles/${authorId}/messages`;
81
+ };
82
+ /**
83
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Appends a message to the profile's editorial discussion, attributed to the effective profile. The source object fields identify the native LearningAuthorProfile subject; they are not a course revision reference. Messages do not change publication status.
84
+ * @summary Add a private author profile message
85
+ */
86
+ const learningAddAuthorMessage = async (authorId, learningAuthorMessageWrite, options) => {
87
+ const getHeaders = (h) => {
88
+ if (!h) return {};
89
+ if (h instanceof Headers) return Object.fromEntries(h.entries());
90
+ if (Symbol.iterator in h) return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
91
+ const headers = {};
92
+ for (const [name, value] of Object.entries(h)) if (value !== void 0) headers[name] = value;
93
+ return headers;
94
+ };
95
+ return request(getLearningAddAuthorMessageUrl(authorId), {
96
+ ...options,
97
+ method: "POST",
98
+ headers: {
99
+ "Content-Type": "application/json",
100
+ ...getHeaders(options?.headers)
101
+ },
102
+ body: JSON.stringify(learningAuthorMessageWrite)
103
+ });
104
+ };
105
+ const getLearningPreviewAuthorPortraitUrl = (authorId, assetId) => {
106
+ return `/learning/author/profiles/${authorId}/portraits/${assetId}`;
107
+ };
108
+ /**
109
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Returns a delivery descriptor for a candidate image that the caller may use in this profile's catalogue. assetId may refer to a completed private portrait upload or eligible teaching image. Previewing does not publish it; the public portrait remains tied to the current public profile.
110
+ * @summary Preview an eligible private author portrait
111
+ */
112
+ const learningPreviewAuthorPortrait = async (authorId, assetId, options) => {
113
+ return request(getLearningPreviewAuthorPortraitUrl(authorId, assetId), {
114
+ ...options,
115
+ method: "GET"
116
+ });
117
+ };
118
+ const getLearningAuthorFragmentsUrl = (authorId, params) => {
119
+ const normalizedParams = new URLSearchParams();
120
+ Object.entries(params || {}).forEach(([key, value]) => {
121
+ if (value !== void 0) normalizedParams.append(key, value === null ? "null" : String(value));
122
+ });
123
+ const stringifiedParams = normalizedParams.toString();
124
+ return stringifiedParams.length > 0 ? `/learning/author/profiles/${authorId}/revision-fragments?${stringifiedParams}` : `/learning/author/profiles/${authorId}/revision-fragments`;
125
+ };
126
+ /**
127
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. Returns summaries for the profile's matched source identity, ordered by fragment ID. No source identity match produces an empty collection. Payload bytes are available from the scoped detail endpoint.
128
+ * @summary List an author's imported revision fragments
129
+ */
130
+ const learningAuthorFragments = async (authorId, params, options) => {
131
+ return request(getLearningAuthorFragmentsUrl(authorId, params), {
132
+ ...options,
133
+ method: "GET"
134
+ });
135
+ };
136
+ const getLearningAuthorFragmentUrl = (authorId, fragmentId) => {
137
+ return `/learning/author/profiles/${authorId}/revision-fragments/${fragmentId}`;
138
+ };
139
+ /**
140
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. fragmentId must match the selected author's source identity and catalogue. sourcePayload contains opaque base64-encoded source bytes when retained; inspect them as evidence, never execute or deserialize them as trusted application objects.
141
+ * @summary Read an author's imported revision fragment
142
+ */
143
+ const learningAuthorFragment = async (authorId, fragmentId, options) => {
144
+ return request(getLearningAuthorFragmentUrl(authorId, fragmentId), {
145
+ ...options,
146
+ method: "GET"
147
+ });
148
+ };
149
+ const getLearningAuthorRevisionsUrl = (authorId, params) => {
150
+ const normalizedParams = new URLSearchParams();
151
+ Object.entries(params || {}).forEach(([key, value]) => {
152
+ if (value !== void 0) normalizedParams.append(key, value === null ? "null" : String(value));
153
+ });
154
+ const stringifiedParams = normalizedParams.toString();
155
+ return stringifiedParams.length > 0 ? `/learning/author/profiles/${authorId}/revisions?${stringifiedParams}` : `/learning/author/profiles/${authorId}/revisions`;
156
+ };
157
+ /**
158
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by revision ID descending. These are complete native definitions. Partial imported revisions are available separately from revision-fragments and are not promoted into this history. version counts revisions; editVersion counts replacements within a draft.
159
+ * @summary List an author's native editorial revisions
160
+ */
161
+ const learningAuthorRevisions = async (authorId, params, options) => {
162
+ return request(getLearningAuthorRevisionsUrl(authorId, params), {
163
+ ...options,
164
+ method: "GET"
165
+ });
166
+ };
167
+ const getLearningDraftAuthorRevisionUrl = (authorId) => {
168
+ return `/learning/author/profiles/${authorId}/revisions`;
169
+ };
170
+ /**
171
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Creates the next numbered revision from the supplied full definition. No existing draft or submitted revision may be present. Rejected or published definitions remain in history. The public profile stays unchanged until this draft is submitted and approved.
172
+ * @summary Create the next author profile draft
173
+ */
174
+ const learningDraftAuthorRevision = async (authorId, learningAuthorDefinitionWrite, options) => {
175
+ const getHeaders = (h) => {
176
+ if (!h) return {};
177
+ if (h instanceof Headers) return Object.fromEntries(h.entries());
178
+ if (Symbol.iterator in h) return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
179
+ const headers = {};
180
+ for (const [name, value] of Object.entries(h)) if (value !== void 0) headers[name] = value;
181
+ return headers;
182
+ };
183
+ return request(getLearningDraftAuthorRevisionUrl(authorId), {
184
+ ...options,
185
+ method: "POST",
186
+ headers: {
187
+ "Content-Type": "application/json",
188
+ ...getHeaders(options?.headers)
189
+ },
190
+ body: JSON.stringify(learningAuthorDefinitionWrite)
191
+ });
192
+ };
193
+ const getLearningEditAuthorRevisionUrl = (authorId, revisionId) => {
194
+ return `/learning/author/profiles/${authorId}/revisions/${revisionId}`;
195
+ };
196
+ /**
197
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Replaces the full draft definition and increments editVersion. expectedEditVersion must match the latest response. Only draft status is editable; a rejected profile revision needs a new successor. Neither this edit nor a private portrait preview changes the public profile.
198
+ * @summary Replace an editable author profile draft
199
+ */
200
+ const learningEditAuthorRevision = async (authorId, revisionId, learningAuthorRevisionUpdateWrite, options) => {
201
+ const getHeaders = (h) => {
202
+ if (!h) return {};
203
+ if (h instanceof Headers) return Object.fromEntries(h.entries());
204
+ if (Symbol.iterator in h) return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
205
+ const headers = {};
206
+ for (const [name, value] of Object.entries(h)) if (value !== void 0) headers[name] = value;
207
+ return headers;
208
+ };
209
+ return request(getLearningEditAuthorRevisionUrl(authorId, revisionId), {
210
+ ...options,
211
+ method: "PUT",
212
+ headers: {
213
+ "Content-Type": "application/json",
214
+ ...getHeaders(options?.headers)
215
+ },
216
+ body: JSON.stringify(learningAuthorRevisionUpdateWrite)
217
+ });
218
+ };
219
+ const getLearningReviewAuthorRevisionUrl = (authorId, revisionId) => {
220
+ return `/learning/author/profiles/${authorId}/revisions/${revisionId}/review`;
221
+ };
222
+ /**
223
+ * Requires review authority for the author's active catalogue or global authority; ownership alone is insufficient. Only submitted revisions can be reviewed. Approval atomically updates the public identity, biography, portrait and activity flag, and supersedes the previous published revision. Rejection retains the current public profile and stores the review note.
224
+ * @summary Approve or reject an author profile revision
225
+ */
226
+ const learningReviewAuthorRevision = async (authorId, revisionId, courseReviewWrite, options) => {
227
+ const getHeaders = (h) => {
228
+ if (!h) return {};
229
+ if (h instanceof Headers) return Object.fromEntries(h.entries());
230
+ if (Symbol.iterator in h) return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
231
+ const headers = {};
232
+ for (const [name, value] of Object.entries(h)) if (value !== void 0) headers[name] = value;
233
+ return headers;
234
+ };
235
+ return request(getLearningReviewAuthorRevisionUrl(authorId, revisionId), {
236
+ ...options,
237
+ method: "POST",
238
+ headers: {
239
+ "Content-Type": "application/json",
240
+ ...getHeaders(options?.headers)
241
+ },
242
+ body: JSON.stringify(courseReviewWrite)
243
+ });
244
+ };
245
+ const getLearningSubmitAuthorRevisionUrl = (authorId, revisionId) => {
246
+ return `/learning/author/profiles/${authorId}/revisions/${revisionId}/submit`;
247
+ };
248
+ /**
249
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Only a draft may be submitted. Revalidates the portrait, records submittedAt and freezes editing while awaiting review. The currently public biography and portrait remain in place until approval.
250
+ * @summary Submit an author profile draft for review
251
+ */
252
+ const learningSubmitAuthorRevision = async (authorId, revisionId, options) => {
253
+ return request(getLearningSubmitAuthorRevisionUrl(authorId, revisionId), {
254
+ ...options,
255
+ method: "POST"
256
+ });
257
+ };
258
+ const getLearningReserveAuthorPortraitUrl = (authorId) => {
259
+ return `/learning/author/profiles/${authorId}/uploads`;
260
+ };
261
+ /**
262
+ * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Reserves a PNG or JPEG of at most 10 MiB. Send exactly sizeBytes raw bytes with the declared Content-Type to uploadUrl using method before expiresAt. Reservation alone creates no usable portrait; reference the asset returned after upload completion in an author revision, then submit and approve it to make it public.
263
+ * @summary Reserve a private author portrait upload
264
+ */
265
+ const learningReserveAuthorPortrait = async (authorId, learningUploadWrite, options) => {
266
+ const getHeaders = (h) => {
267
+ if (!h) return {};
268
+ if (h instanceof Headers) return Object.fromEntries(h.entries());
269
+ if (Symbol.iterator in h) return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
270
+ const headers = {};
271
+ for (const [name, value] of Object.entries(h)) if (value !== void 0) headers[name] = value;
272
+ return headers;
273
+ };
274
+ return request(getLearningReserveAuthorPortraitUrl(authorId), {
275
+ ...options,
276
+ method: "POST",
277
+ headers: {
278
+ "Content-Type": "application/json",
279
+ ...getHeaders(options?.headers)
280
+ },
281
+ body: JSON.stringify(learningUploadWrite)
282
+ });
283
+ };
284
+ const getLearningPublicAuthorProfilesUrl = (params) => {
285
+ const normalizedParams = new URLSearchParams();
286
+ Object.entries(params || {}).forEach(([key, value]) => {
287
+ if (value !== void 0) normalizedParams.append(key, value === null ? "null" : String(value));
288
+ });
289
+ const stringifiedParams = normalizedParams.toString();
290
+ return stringifiedParams.length > 0 ? `/learning/authors?${stringifiedParams}` : `/learning/authors`;
291
+ };
292
+ /**
293
+ * Requires an authenticated effective profile in the learning context. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Lists active profiles in active catalogues, ordered by author ID. Returns the current public projection, including imported public snapshots, with no private ownership, draft or review metadata. portraitUrl is the API locator for a separate media delivery request.
294
+ * @summary List published teaching author profiles
295
+ */
296
+ const learningPublicAuthorProfiles = async (params, options) => {
297
+ return request(getLearningPublicAuthorProfilesUrl(params), {
298
+ ...options,
299
+ method: "GET"
300
+ });
301
+ };
302
+ const getLearningPublicAuthorProfileUrl = (authorId) => {
303
+ return `/learning/authors/${authorId}`;
304
+ };
305
+ /**
306
+ * Returns the current public profile to an authenticated effective profile in the learning context. Both the profile and its catalogue must be active. Pending drafts and review notes are private. Follow portraitUrl through the portrait endpoint to obtain a delivery descriptor.
307
+ * @summary Read a published teaching author profile
308
+ */
309
+ const learningPublicAuthorProfile = async (authorId, options) => {
310
+ return request(getLearningPublicAuthorProfileUrl(authorId), {
311
+ ...options,
312
+ method: "GET"
313
+ });
314
+ };
315
+ const getLearningAuthorPortraitUrl = (authorId) => {
316
+ return `/learning/authors/${authorId}/portrait`;
317
+ };
318
+ /**
319
+ * Requires an active public author in an active catalogue. Returns a media delivery descriptor for the approved or imported public portrait, not image bytes. Draft portrait assets are accessible only through the private preview endpoint. Delivery URLs may expire and do not disclose storage keys or provider metadata.
320
+ * @summary Get the currently public author portrait
321
+ */
322
+ const learningAuthorPortrait = async (authorId, options) => {
323
+ return request(getLearningAuthorPortraitUrl(authorId), {
324
+ ...options,
325
+ method: "GET"
326
+ });
327
+ };
328
+ //#endregion
329
+ export { getLearningAddAuthorMessageUrl, getLearningAuthorFragmentUrl, getLearningAuthorFragmentsUrl, getLearningAuthorMessagesUrl, getLearningAuthorPortraitUrl, getLearningAuthorProfileAdminUrl, getLearningAuthorRevisionsUrl, getLearningCreateAuthorProfileUrl, getLearningDraftAuthorRevisionUrl, getLearningEditAuthorRevisionUrl, getLearningOwnAuthorProfilesUrl, getLearningPreviewAuthorPortraitUrl, getLearningPublicAuthorProfileUrl, getLearningPublicAuthorProfilesUrl, getLearningReserveAuthorPortraitUrl, getLearningReviewAuthorRevisionUrl, getLearningSubmitAuthorRevisionUrl, learningAddAuthorMessage, learningAuthorFragment, learningAuthorFragments, learningAuthorMessages, learningAuthorPortrait, learningAuthorProfileAdmin, learningAuthorRevisions, learningCreateAuthorProfile, learningDraftAuthorRevision, learningEditAuthorRevision, learningOwnAuthorProfiles, learningPreviewAuthorPortrait, learningPublicAuthorProfile, learningPublicAuthorProfiles, learningReserveAuthorPortrait, learningReviewAuthorRevision, learningSubmitAuthorRevision };
330
+
331
+ //# sourceMappingURL=biblio-learning-author-profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"biblio-learning-author-profiles.js","names":[],"sources":["../../src/api/biblio-learning-author-profiles/biblio-learning-author-profiles.ts"],"sourcesContent":["/**\n * Generated by orval 🍺\n * Do not edit manually.\n * Mozaik backend\n * Four products behind one API — Biblio, Médiathèques, the partner catalogues (Nextory and YouScribe) and Prof Express. Authentication is Keycloak SSO only, once, for all of them: see the **auth** section below for the browser flow and the three failure modes.\n * OpenAPI spec version: 0.13.0\n */\nimport type {\n CourseReviewWrite,\n LearningAssetRead,\n LearningAuthorDefinitionWrite,\n LearningAuthorFragmentsParams,\n LearningAuthorMessageWrite,\n LearningAuthorMessagesParams,\n LearningAuthorProfileAdminPage,\n LearningAuthorProfileAdminRead,\n LearningAuthorProfileCreateWrite,\n LearningAuthorProfilePage,\n LearningAuthorProfileRead,\n LearningAuthorRevisionPage,\n LearningAuthorRevisionRead,\n LearningAuthorRevisionUpdateWrite,\n LearningAuthorRevisionsParams,\n LearningEditorialFragmentDetailRead,\n LearningEditorialFragmentPage,\n LearningEditorialMessagePage,\n LearningEditorialMessageRead,\n LearningOwnAuthorProfilesParams,\n LearningPublicAuthorProfilesParams,\n LearningUploadRead,\n LearningUploadWrite\n} from '../../models';\n\nimport { request } from '../../client';\n\nexport const getLearningOwnAuthorProfilesUrl = (params?: LearningOwnAuthorProfilesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/learning/author/profiles?${stringifiedParams}` : `/learning/author/profiles`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Includes inactive drafts and active public profiles, ordered by author ID. An imported active public snapshot may have no native publishedRevisionId; this does not imply that a publication date is known.\n * @summary List author profiles I can manage\n */\nexport const learningOwnAuthorProfiles = async (params?: LearningOwnAuthorProfilesParams, options?: Parameters<typeof request>[1]): Promise<LearningAuthorProfileAdminPage> => {\n\n return request<LearningAuthorProfileAdminPage>(getLearningOwnAuthorProfilesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getLearningCreateAuthorProfileUrl = () => {\n\n\n\n\n return `/learning/author/profiles`\n}\n\n/**\n * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Creates an inactive teaching profile and its initial editable revision. The definition is not public until approved. Omitting authorId creates a new public author identity; binding an existing authorId or another ownerUserId requires global authority. Portrait assets must be eligible images in the chosen catalogue.\n * @summary Create an author profile and its first draft\n */\nexport const learningCreateAuthorProfile = async (learningAuthorProfileCreateWrite: LearningAuthorProfileCreateWrite, options?: Parameters<typeof request>[1]): Promise<LearningAuthorProfileAdminRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningAuthorProfileAdminRead>(getLearningCreateAuthorProfileUrl(),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningAuthorProfileCreateWrite)\n }\n);}\n\n\nexport const getLearningAuthorProfileAdminUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Returns ownership and the native published revision pointer without exposing raw provider metadata. authorId is the existing public author identity. A null publishedRevisionId can describe a newly created profile or an imported public snapshot; use isActive and revision history for context.\n * @summary Read an author's private profile metadata\n */\nexport const learningAuthorProfileAdmin = async (authorId: number, options?: Parameters<typeof request>[1]): Promise<LearningAuthorProfileAdminRead> => {\n\n return request<LearningAuthorProfileAdminRead>(getLearningAuthorProfileAdminUrl(authorId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getLearningAuthorMessagesUrl = (authorId: number,\n params?: LearningAuthorMessagesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/learning/author/profiles/${authorId}/messages?${stringifiedParams}` : `/learning/author/profiles/${authorId}/messages`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by message ID. Includes native profile discussion and matching imported source messages when available. Author messages do not carry courseId or course revisionId. Historical messages can have unknown author attribution or creation date.\n * @summary List private editorial messages for an author\n */\nexport const learningAuthorMessages = async (authorId: number,\n params?: LearningAuthorMessagesParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialMessagePage> => {\n\n return request<LearningEditorialMessagePage>(getLearningAuthorMessagesUrl(authorId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getLearningAddAuthorMessageUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/messages`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Appends a message to the profile's editorial discussion, attributed to the effective profile. The source object fields identify the native LearningAuthorProfile subject; they are not a course revision reference. Messages do not change publication status.\n * @summary Add a private author profile message\n */\nexport const learningAddAuthorMessage = async (authorId: number,\n learningAuthorMessageWrite: LearningAuthorMessageWrite, options?: Parameters<typeof request>[1]): Promise<LearningEditorialMessageRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningEditorialMessageRead>(getLearningAddAuthorMessageUrl(authorId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningAuthorMessageWrite)\n }\n);}\n\n\nexport const getLearningPreviewAuthorPortraitUrl = (authorId: number,\n assetId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/portraits/${assetId}`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Returns a delivery descriptor for a candidate image that the caller may use in this profile's catalogue. assetId may refer to a completed private portrait upload or eligible teaching image. Previewing does not publish it; the public portrait remains tied to the current public profile.\n * @summary Preview an eligible private author portrait\n */\nexport const learningPreviewAuthorPortrait = async (authorId: number,\n assetId: number, options?: Parameters<typeof request>[1]): Promise<LearningAssetRead> => {\n\n return request<LearningAssetRead>(getLearningPreviewAuthorPortraitUrl(authorId,assetId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getLearningAuthorFragmentsUrl = (authorId: number,\n params?: LearningAuthorFragmentsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/learning/author/profiles/${authorId}/revision-fragments?${stringifiedParams}` : `/learning/author/profiles/${authorId}/revision-fragments`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. Returns summaries for the profile's matched source identity, ordered by fragment ID. No source identity match produces an empty collection. Payload bytes are available from the scoped detail endpoint.\n * @summary List an author's imported revision fragments\n */\nexport const learningAuthorFragments = async (authorId: number,\n params?: LearningAuthorFragmentsParams, options?: Parameters<typeof request>[1]): Promise<LearningEditorialFragmentPage> => {\n\n return request<LearningEditorialFragmentPage>(getLearningAuthorFragmentsUrl(authorId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getLearningAuthorFragmentUrl = (authorId: number,\n fragmentId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/revision-fragments/${fragmentId}`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. A fragment is partial source evidence, not a complete native revision or a replayable patch. Missing source dates and publication facts remain unknown; neither version labels nor source status prove publication. fragmentId must match the selected author's source identity and catalogue. sourcePayload contains opaque base64-encoded source bytes when retained; inspect them as evidence, never execute or deserialize them as trusted application objects.\n * @summary Read an author's imported revision fragment\n */\nexport const learningAuthorFragment = async (authorId: number,\n fragmentId: number, options?: Parameters<typeof request>[1]): Promise<LearningEditorialFragmentDetailRead> => {\n\n return request<LearningEditorialFragmentDetailRead>(getLearningAuthorFragmentUrl(authorId,fragmentId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getLearningAuthorRevisionsUrl = (authorId: number,\n params?: LearningAuthorRevisionsParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/learning/author/profiles/${authorId}/revisions?${stringifiedParams}` : `/learning/author/profiles/${authorId}/revisions`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by revision ID descending. These are complete native definitions. Partial imported revisions are available separately from revision-fragments and are not promoted into this history. version counts revisions; editVersion counts replacements within a draft.\n * @summary List an author's native editorial revisions\n */\nexport const learningAuthorRevisions = async (authorId: number,\n params?: LearningAuthorRevisionsParams, options?: Parameters<typeof request>[1]): Promise<LearningAuthorRevisionPage> => {\n\n return request<LearningAuthorRevisionPage>(getLearningAuthorRevisionsUrl(authorId,params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getLearningDraftAuthorRevisionUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/revisions`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Creates the next numbered revision from the supplied full definition. No existing draft or submitted revision may be present. Rejected or published definitions remain in history. The public profile stays unchanged until this draft is submitted and approved.\n * @summary Create the next author profile draft\n */\nexport const learningDraftAuthorRevision = async (authorId: number,\n learningAuthorDefinitionWrite: LearningAuthorDefinitionWrite, options?: Parameters<typeof request>[1]): Promise<LearningAuthorRevisionRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningAuthorRevisionRead>(getLearningDraftAuthorRevisionUrl(authorId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningAuthorDefinitionWrite)\n }\n);}\n\n\nexport const getLearningEditAuthorRevisionUrl = (authorId: number,\n revisionId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/revisions/${revisionId}`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Replaces the full draft definition and increments editVersion. expectedEditVersion must match the latest response. Only draft status is editable; a rejected profile revision needs a new successor. Neither this edit nor a private portrait preview changes the public profile.\n * @summary Replace an editable author profile draft\n */\nexport const learningEditAuthorRevision = async (authorId: number,\n revisionId: number,\n learningAuthorRevisionUpdateWrite: LearningAuthorRevisionUpdateWrite, options?: Parameters<typeof request>[1]): Promise<LearningAuthorRevisionRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningAuthorRevisionRead>(getLearningEditAuthorRevisionUrl(authorId,revisionId),\n {\n ...options,\n method: 'PUT',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningAuthorRevisionUpdateWrite)\n }\n);}\n\n\nexport const getLearningReviewAuthorRevisionUrl = (authorId: number,\n revisionId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/revisions/${revisionId}/review`\n}\n\n/**\n * Requires review authority for the author's active catalogue or global authority; ownership alone is insufficient. Only submitted revisions can be reviewed. Approval atomically updates the public identity, biography, portrait and activity flag, and supersedes the previous published revision. Rejection retains the current public profile and stores the review note.\n * @summary Approve or reject an author profile revision\n */\nexport const learningReviewAuthorRevision = async (authorId: number,\n revisionId: number,\n courseReviewWrite: CourseReviewWrite, options?: Parameters<typeof request>[1]): Promise<LearningAuthorRevisionRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningAuthorRevisionRead>(getLearningReviewAuthorRevisionUrl(authorId,revisionId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(courseReviewWrite)\n }\n);}\n\n\nexport const getLearningSubmitAuthorRevisionUrl = (authorId: number,\n revisionId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/revisions/${revisionId}/submit`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Only a draft may be submitted. Revalidates the portrait, records submittedAt and freezes editing while awaiting review. The currently public biography and portrait remain in place until approval.\n * @summary Submit an author profile draft for review\n */\nexport const learningSubmitAuthorRevision = async (authorId: number,\n revisionId: number, options?: Parameters<typeof request>[1]): Promise<LearningAuthorRevisionRead> => {\n\n return request<LearningAuthorRevisionRead>(getLearningSubmitAuthorRevisionUrl(authorId,revisionId),\n {\n ...options,\n method: 'POST'\n\n\n }\n);}\n\n\nexport const getLearningReserveAuthorPortraitUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/author/profiles/${authorId}/uploads`\n}\n\n/**\n * Visible only to the profile owner, a reviewer of its active catalogue, or a global operator. Support impersonation and dependent profiles are rejected. Reserves a PNG or JPEG of at most 10 MiB. Send exactly sizeBytes raw bytes with the declared Content-Type to uploadUrl using method before expiresAt. Reservation alone creates no usable portrait; reference the asset returned after upload completion in an author revision, then submit and approve it to make it public.\n * @summary Reserve a private author portrait upload\n */\nexport const learningReserveAuthorPortrait = async (authorId: number,\n learningUploadWrite: LearningUploadWrite, options?: Parameters<typeof request>[1]): Promise<LearningUploadRead> => {\n\n const getHeaders = (h?: NonNullable<RequestInit['headers']>): Record<string, string | readonly string[]> => {\n if (!h) return {};\n if (h instanceof Headers) return Object.fromEntries(h.entries());\n if (Symbol.iterator in h) {\n return Object.fromEntries(\n Array.from(h as Iterable<Iterable<string>>, (entry) => Array.from(entry) as [string, string]),\n );\n }\n const headers: Record<string, string | readonly string[]> = {};\n for (const [name, value] of Object.entries<string | readonly string[] | undefined>(h)) {\n if (value !== undefined) headers[name] = value;\n }\n return headers;\n };\nreturn request<LearningUploadRead>(getLearningReserveAuthorPortraitUrl(authorId),\n {\n ...options,\n method: 'POST',\n headers: { 'Content-Type': 'application/json', ...getHeaders(options?.headers) },\n body: JSON.stringify(learningUploadWrite)\n }\n);}\n\n\nexport const getLearningPublicAuthorProfilesUrl = (params?: LearningPublicAuthorProfilesParams,) => {\n const normalizedParams = new URLSearchParams();\n\n Object.entries(params || {}).forEach(([key, value]) => {\n\n if (value !== undefined) {\n normalizedParams.append(key, value === null ? 'null' : String(value))\n }\n });\n\n const stringifiedParams = normalizedParams.toString();\n\n return stringifiedParams.length > 0 ? `/learning/authors?${stringifiedParams}` : `/learning/authors`\n}\n\n/**\n * Requires an authenticated effective profile in the learning context. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Lists active profiles in active catalogues, ordered by author ID. Returns the current public projection, including imported public snapshots, with no private ownership, draft or review metadata. portraitUrl is the API locator for a separate media delivery request.\n * @summary List published teaching author profiles\n */\nexport const learningPublicAuthorProfiles = async (params?: LearningPublicAuthorProfilesParams, options?: Parameters<typeof request>[1]): Promise<LearningAuthorProfilePage> => {\n\n return request<LearningAuthorProfilePage>(getLearningPublicAuthorProfilesUrl(params),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getLearningPublicAuthorProfileUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/authors/${authorId}`\n}\n\n/**\n * Returns the current public profile to an authenticated effective profile in the learning context. Both the profile and its catalogue must be active. Pending drafts and review notes are private. Follow portraitUrl through the portrait endpoint to obtain a delivery descriptor.\n * @summary Read a published teaching author profile\n */\nexport const learningPublicAuthorProfile = async (authorId: number, options?: Parameters<typeof request>[1]): Promise<LearningAuthorProfileRead> => {\n\n return request<LearningAuthorProfileRead>(getLearningPublicAuthorProfileUrl(authorId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\nexport const getLearningAuthorPortraitUrl = (authorId: number,) => {\n\n\n\n\n return `/learning/authors/${authorId}/portrait`\n}\n\n/**\n * Requires an active public author in an active catalogue. Returns a media delivery descriptor for the approved or imported public portrait, not image bytes. Draft portrait assets are accessible only through the private preview endpoint. Delivery URLs may expire and do not disclose storage keys or provider metadata.\n * @summary Get the currently public author portrait\n */\nexport const learningAuthorPortrait = async (authorId: number, options?: Parameters<typeof request>[1]): Promise<LearningAssetRead> => {\n\n return request<LearningAssetRead>(getLearningAuthorPortraitUrl(authorId),\n {\n ...options,\n method: 'GET'\n\n\n }\n);}\n\n\n"],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+
2
+ import { $a as LearningLibraryVersionWrite, $o as LearningCatalogueGrantWrite, Af as CourseReviewWrite, Cp as CourseRevisionRead, Ja as LearningListLibraryVersionsParams, Jf as CourseAuthorRevisionRead, Jo as LearningCatalogueWrite, Lf as LearningAssessmentWriteInput, Lo as LearningCourseCreateWrite, No as LearningCourseSettingsWrite, Ns as LearningAssetRead, Of as CourseRevisionWriteInput, Qa as LearningLibraryWrite, Qo as LearningCatalogueRead, Ro as LearningCourseAdminPage, Sa as LearningPathWrite, Wa as LearningListRevisionsParams, Xa as LearningListAuthorCoursesParams, Ya as LearningListLibrariesParams, Zo as LearningCatalogueListRead, ba as LearningPathAssessmentRead, eo as LearningLibraryVersionPage, io as LearningLibraryDocumentRead, js as LearningAssetWrite, kf as CourseRevisionPage, no as LearningLibraryRead, oo as LearningLibraryVersionRead, to as LearningLibraryPage, ts as LearningCaptionWrite, xa as LearningPathAdminRead, zo as LearningCourseAdminRead } from "../chunks/index.js";
3
+ import { c as request } from "../chunks/client.js";
4
+ //#region src/api/biblio-learning-authoring/biblio-learning-authoring.d.ts
5
+ export declare const getLearningListAuthorCataloguesUrl: () => string;
6
+ /**
7
+ * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Lists active catalogues with creation, review or finance authority. Review permission also enables creation; finance permission alone does not. The collection is ordered by catalogue ID and is not paginated.
8
+ * @summary List my authoring catalogues
9
+ */
10
+ export declare const learningListAuthorCatalogues: (options?: Parameters<typeof request>[1]) => Promise<LearningCatalogueListRead>;
11
+ export declare const getLearningCreateAuthorCatalogueUrl: () => string;
12
+ /**
13
+ * Requires global catalogue write authority and rejects support impersonation. Creates an active authoring catalogue; the returned capability flags describe the operator making this request.
14
+ * @summary Create a learning catalogue
15
+ */
16
+ export declare const learningCreateAuthorCatalogue: (learningCatalogueWrite: LearningCatalogueWrite, options?: Parameters<typeof request>[1]) => Promise<LearningCatalogueRead>;
17
+ export declare const getLearningSetCatalogueAuthorityUrl: (catalogueId: number) => string;
18
+ /**
19
+ * Requires global catalogue write authority. Replaces all three grants for the selected active independent account, including revocation when all flags are false. The reason is recorded for audit. Successful updates return 204 with no response body.
20
+ * @summary Replace an author's catalogue permissions
21
+ */
22
+ export declare const learningSetCatalogueAuthority: (catalogueId: number, learningCatalogueGrantWrite: LearningCatalogueGrantWrite, options?: Parameters<typeof request>[1]) => Promise<void>;
23
+ export declare const getLearningListAuthorCoursesUrl: (params?: LearningListAuthorCoursesParams) => string;
24
+ /**
25
+ * Returns courses assigned to the effective author and courses in active catalogues they may review. Global administrators and support readers can see all courses. Dependent profiles and support impersonation are refused. Pagination counts this authorized scope and sorts by course ID ascending; draft courses are included.
26
+ * @summary List courses available to the author
27
+ */
28
+ export declare const learningListAuthorCourses: (params?: LearningListAuthorCoursesParams, options?: Parameters<typeof request>[1]) => Promise<LearningCourseAdminPage>;
29
+ export declare const getLearningCreateCourseUrl: () => string;
30
+ /**
31
+ * Create an inactive course from a title in an authorized catalogue, then register media and create an edition. Binding an existing catalogue contentId, or creating without catalogueId, requires global administration. Assigning other authors requires curator authority. Publication activates a new course; this request alone does not make it readable.
32
+ * @summary Create a native course shell
33
+ */
34
+ export declare const learningCreateCourse: (learningCourseCreateWrite: LearningCourseCreateWrite, options?: Parameters<typeof request>[1]) => Promise<LearningCourseAdminRead>;
35
+ export declare const getLearningUpdateCourseSettingsUrl: (courseId: number) => string;
36
+ /**
37
+ * Requires course curator or global administrator authority and an audit reason. Non-null scalar fields replace their current values; null or omitted values leave them unchanged. authorIds replaces the complete author set, including clearing it with an empty list. A course must have a published edition before isActive can be true.
38
+ * @summary Update publication and author settings
39
+ */
40
+ export declare const learningUpdateCourseSettings: (courseId: number, learningCourseSettingsWrite: LearningCourseSettingsWrite, options?: Parameters<typeof request>[1]) => Promise<LearningCourseAdminRead>;
41
+ export declare const getLearningRegisterAssetUrl: (courseId: number) => string;
42
+ /**
43
+ * Requires edit authority on the course. Registers an immutable media reference for use in edition definitions. Vimeo requires a numeric video ID; external resources require HTTPS without credentials; HTML is sanitized; storage keys must identify an existing object under this author's learning prefix. The response identifies the asset and does not issue a playback URL. For new file bytes use the upload reservation workflow.
44
+ * @summary Register a course media resource
45
+ */
46
+ export declare const learningRegisterAsset: (courseId: number, learningAssetWrite: LearningAssetWrite, options?: Parameters<typeof request>[1]) => Promise<LearningAssetRead>;
47
+ export declare const getLearningAttachCaptionsUrl: (courseId: number, assetId: number) => string;
48
+ /**
49
+ * Requires course edit authority. First upload validated UTF-8 WebVTT to the same course, then reference its asset ID here. Returns a new immutable media variant; existing editions keep their original asset. Repeating the original asset, caption asset and language returns the existing variant. Put the returned assetId into a draft edition to publish the captions.
50
+ * @summary Create a captioned variant of course audio or video
51
+ */
52
+ export declare const learningAttachCaptions: (courseId: number, assetId: number, learningCaptionWrite: LearningCaptionWrite, options?: Parameters<typeof request>[1]) => Promise<LearningAssetRead>;
53
+ export declare const getLearningListRevisionsUrl: (courseId: number, params?: LearningListRevisionsParams) => string;
54
+ /**
55
+ * Requires read authority on this course. Returns draft, submitted, published, rejected and superseded editions, newest version first. version identifies the course edition; editVersion is the optimistic concurrency counter within a working edition.
56
+ * @summary List the course's edition history
57
+ */
58
+ export declare const learningListRevisions: (courseId: number, params?: LearningListRevisionsParams, options?: Parameters<typeof request>[1]) => Promise<CourseRevisionPage>;
59
+ export declare const getLearningCreateRevisionUrl: (courseId: number) => string;
60
+ /**
61
+ * Requires course edit authority. Creates a complete edition with the next version number; only one draft or submitted edition may exist for a course. Asset and library references must be available to this course. Chapters contain 1–2000 lessons with unique keys across the edition; the serialized authoring definition is limited to 2,000,000 bytes. Published editions and existing enrollments remain pinned to their definitions.
62
+ * @summary Create the next draft edition
63
+ */
64
+ export declare const learningCreateRevision: (courseId: number, courseRevisionWriteInput: CourseRevisionWriteInput, options?: Parameters<typeof request>[1]) => Promise<CourseRevisionRead>;
65
+ export declare const getLearningReadAuthorRevisionUrl: (courseId: number, revisionId: number) => string;
66
+ /**
67
+ * Requires authoring read authority and checks that revisionId belongs to courseId. Returns editorial content, lessons, resources, vocabularies and private assessment solutions. Read revision.editVersion before replacing a changed definition. This author-only representation includes grading keys that are deliberately absent from reader questions.
68
+ * @summary Read a complete editable edition definition
69
+ */
70
+ export declare const learningReadAuthorRevision: (courseId: number, revisionId: number, options?: Parameters<typeof request>[1]) => Promise<CourseAuthorRevisionRead>;
71
+ export declare const getLearningReplaceRevisionUrl: (courseId: number, revisionId: number) => string;
72
+ /**
73
+ * Replaces the entire editorial and lesson graph of a draft or rejected edition. Send the editVersion last read as expectedEditVersion. An identical definition is an idempotent replay; a changed definition requires a matching version and increments editVersion. A changed rejected edition returns to draft and clears its review note and submission date. Published and submitted editions cannot be edited.
74
+ * @summary Replace a draft edition with concurrency protection
75
+ */
76
+ export declare const learningReplaceRevision: (courseId: number, revisionId: number, courseRevisionWriteInput: CourseRevisionWriteInput, options?: Parameters<typeof request>[1]) => Promise<CourseRevisionRead>;
77
+ export declare const getLearningReviewRevisionUrl: (courseId: number, revisionId: number) => string;
78
+ /**
79
+ * Requires course curator or global administrator authority. Approval revalidates materials, publishes this edition, supersedes its published predecessor, updates catalogue editorial fields and activates the course. Existing readers retain their selected edition until they explicitly upgrade. Rejection returns the edition for editing. Every decision requires a review note; repeated decisions return 409 once the edition leaves submitted.
80
+ * @summary Publish or reject a submitted edition
81
+ */
82
+ export declare const learningReviewRevision: (courseId: number, revisionId: number, courseReviewWrite: CourseReviewWrite, options?: Parameters<typeof request>[1]) => Promise<CourseRevisionRead>;
83
+ export declare const getLearningSubmitRevisionUrl: (courseId: number, revisionId: number) => string;
84
+ /**
85
+ * Requires course edit authority. Moves draft to submitted and records submittedAt; reviewers can then approve or reject it. Submission locks the definition against editing. This transition is not replay-idempotent: submitting an already submitted edition returns 409.
86
+ * @summary Submit a draft edition for review
87
+ */
88
+ export declare const learningSubmitRevision: (courseId: number, revisionId: number, options?: Parameters<typeof request>[1]) => Promise<CourseRevisionRead>;
89
+ export declare const getLearningListLibrariesUrl: (params?: LearningListLibrariesParams) => string;
90
+ /**
91
+ * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Lists owned or shared libraries for creators, all libraries in reviewable active catalogues for reviewers, and all libraries for global operators. Ordered by library ID. publishedVersion=0 means no native published version is selected.
92
+ * @summary List reusable teaching libraries
93
+ */
94
+ export declare const learningListLibraries: (params?: LearningListLibrariesParams, options?: Parameters<typeof request>[1]) => Promise<LearningLibraryPage>;
95
+ export declare const getLearningCreateLibraryUrl: () => string;
96
+ /**
97
+ * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Creates an empty assessment or vocabulary container owned by the caller. A null catalogueId requires global authority. shared allows catalogue peers to reuse published material; it does not grant them editing rights. Create a version separately.
98
+ * @summary Create a reusable teaching library
99
+ */
100
+ export declare const learningCreateLibrary: (learningLibraryWrite: LearningLibraryWrite, options?: Parameters<typeof request>[1]) => Promise<LearningLibraryRead>;
101
+ export declare const getLearningListLibraryVersionsUrl: (libraryId: number, params?: LearningListLibraryVersionsParams) => string;
102
+ /**
103
+ * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Results are filtered to the caller's scope before pagination; page is one-based and limit is bounded by the shared pagination contract. Ordered by version descending. Owners, reviewers and global operators can read drafts; other eligible users see published and superseded versions only. sealed is authoritative for editing: imported or referenced material can be sealed even with a draft status.
104
+ * @summary List versions of a teaching library
105
+ */
106
+ export declare const learningListLibraryVersions: (libraryId: number, params?: LearningListLibraryVersionsParams, options?: Parameters<typeof request>[1]) => Promise<LearningLibraryVersionPage>;
107
+ export declare const getLearningCreateLibraryVersionUrl: (libraryId: number) => string;
108
+ /**
109
+ * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Requires library ownership, catalogue review authority or global authority for writes; sharing only permits reuse and reading published versions. Creates the next numbered draft without changing any previous definition. Supply exactly one assessment or vocabulary matching the library kind. There must be no submitted version or unsealed working draft. Sealed source drafts do not block a successor. Referenced questions must be published and accessible; sourceLessonKeys are not accepted for libraries.
110
+ * @summary Create a successor library version
111
+ */
112
+ export declare const learningCreateLibraryVersion: (libraryId: number, learningLibraryVersionWrite: LearningLibraryVersionWrite, options?: Parameters<typeof request>[1]) => Promise<LearningLibraryVersionRead>;
113
+ export declare const getLearningReadLibraryVersionUrl: (libraryId: number, version: number) => string;
114
+ /**
115
+ * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Returns the full authoring definition and stable question references. version is the library's sequential version number, not materialId. Draft visibility is restricted to owner/reviewer/global operator. Answer keys are part of this private authoring contract. A sealed source snapshot must be copied into a successor to change it.
116
+ * @summary Read a teaching library version
117
+ */
118
+ export declare const learningReadLibraryVersion: (libraryId: number, version: number, options?: Parameters<typeof request>[1]) => Promise<LearningLibraryDocumentRead>;
119
+ export declare const getLearningReplaceLibraryVersionUrl: (libraryId: number, version: number) => string;
120
+ /**
121
+ * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Requires library ownership, catalogue review authority or global authority for writes; sharing only permits reuse and reading published versions. Replaces an unsealed draft or rejected version. Supply the current expectedEditVersion when changing the definition; a semantic no-op returns the same version. Submitted, published, superseded, imported and referenced definitions are immutable. Create a successor for sealed material instead. Exactly one matching assessment or vocabulary is required.
122
+ * @summary Replace an editable library definition
123
+ */
124
+ export declare const learningReplaceLibraryVersion: (libraryId: number, version: number, learningLibraryVersionWrite: LearningLibraryVersionWrite, options?: Parameters<typeof request>[1]) => Promise<LearningLibraryVersionRead>;
125
+ export declare const getLearningReviewLibraryVersionUrl: (libraryId: number, version: number) => string;
126
+ /**
127
+ * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Requires catalogue review or global authority. Approval revalidates resources, publishes this version and supersedes the previously published version. Rejection records the decision and makes an unpinned definition editable again. The supplied note is audited; it is not a field of the returned version summary.
128
+ * @summary Approve or reject a submitted library version
129
+ */
130
+ export declare const learningReviewLibraryVersion: (libraryId: number, version: number, courseReviewWrite: CourseReviewWrite, options?: Parameters<typeof request>[1]) => Promise<LearningLibraryVersionRead>;
131
+ export declare const getLearningSubmitLibraryVersionUrl: (libraryId: number, version: number) => string;
132
+ /**
133
+ * Requires the effective independent author profile and the relevant catalogue, ownership or global authority. Support impersonation is rejected. Requires library ownership, catalogue review authority or global authority for writes; sharing only permits reuse and reading published versions. Only an unsealed draft can be submitted. Submission locks its definition pending review; it does not publish the material. Source snapshots and referenced drafts require a successor before submission.
134
+ * @summary Submit a library draft for review
135
+ */
136
+ export declare const learningSubmitLibraryVersion: (libraryId: number, version: number, options?: Parameters<typeof request>[1]) => Promise<LearningLibraryVersionRead>;
137
+ export declare const getLearningCreatePathUrl: () => string;
138
+ /**
139
+ * Requires review authority for the chosen catalogue, or global authority for a null catalogueId. Creates a path with ordered, unique content IDs; these are catalogue content identities, not revision IDs. Creators without review permission cannot curate paths. Active publication requires active content and eligible catalogue resources.
140
+ * @summary Create a curated learning path
141
+ */
142
+ export declare const learningCreatePath: (learningPathWrite: LearningPathWrite, options?: Parameters<typeof request>[1]) => Promise<LearningPathAdminRead>;
143
+ export declare const getLearningReadAuthorPathUrl: (pathId: number) => string;
144
+ /**
145
+ * Requires review authority for the path's original catalogue or global authority. Returns the complete ordered definition and its current editVersion; use that counter in the next replacement request.
146
+ * @summary Read a path's authoring definition
147
+ */
148
+ export declare const learningReadAuthorPath: (pathId: number, options?: Parameters<typeof request>[1]) => Promise<LearningPathAdminRead>;
149
+ export declare const getLearningUpdatePathUrl: (pathId: number) => string;
150
+ /**
151
+ * Requires review authority for the original catalogue or global authority. Replaces the entire definition and step ordering, increments editVersion, and requires expectedEditVersion to match. The catalogue cannot change. Setting isActive=true requires all referenced content to be active; step visibility for readers still follows their existing access grants.
152
+ * @summary Replace and optionally publish a learning path
153
+ */
154
+ export declare const learningUpdatePath: (pathId: number, learningPathWrite: LearningPathWrite, options?: Parameters<typeof request>[1]) => Promise<LearningPathAdminRead>;
155
+ export declare const getLearningCreatePathAssessmentUrl: (pathId: number) => string;
156
+ /**
157
+ * Requires path catalogue review authority or global authority. Creates a new assessment with kind=final and explicit questions or published questionRefs; sourceLessonKeys are not accepted. References must come from courses in this path. Existing assessments are immutable; withdraw one and create another when replacing it.
158
+ * @summary Add a final assessment to a learning path
159
+ */
160
+ export declare const learningCreatePathAssessment: (pathId: number, learningAssessmentWriteInput: LearningAssessmentWriteInput, options?: Parameters<typeof request>[1]) => Promise<LearningPathAssessmentRead>;
161
+ export declare const getLearningWithdrawPathAssessmentUrl: (pathId: number, assessmentId: number) => string;
162
+ /**
163
+ * Requires path catalogue review authority or global authority. Marks the selected assessment inactive while retaining its identity and recorded evidence. assessmentId must belong to pathId. Repeating withdrawal leaves it inactive. Success returns 204 with no response body.
164
+ * @summary Withdraw a path assessment
165
+ */
166
+ export declare const learningWithdrawPathAssessment: (pathId: number, assessmentId: number, options?: Parameters<typeof request>[1]) => Promise<void>;
167
+ //#endregion
168
+ //# sourceMappingURL=biblio-learning-authoring.d.ts.map