@iblai/data-layer 1.10.0 → 1.11.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 (33) hide show
  1. package/dist/index.d.ts +61831 -42087
  2. package/dist/index.esm.js +1214 -38
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.js +1329 -37
  5. package/dist/index.js.map +1 -1
  6. package/dist/package.json +1 -1
  7. package/dist/src/config.d.ts +1 -0
  8. package/dist/src/constants.d.ts +2 -1
  9. package/dist/src/features/chat/__tests__/api-slice.test.d.ts +1 -0
  10. package/dist/src/features/chat/api-slice.d.ts +882 -1
  11. package/dist/src/features/chat/constants.d.ts +7 -0
  12. package/dist/src/features/core/api-slice.d.ts +1314 -345
  13. package/dist/src/features/core/types.d.ts +57 -0
  14. package/dist/src/features/evaluations/api-slice.d.ts +4314 -0
  15. package/dist/src/features/evaluations/constants.d.ts +102 -0
  16. package/dist/src/features/evaluations/types.d.ts +285 -0
  17. package/dist/src/features/mentor/privacy.d.ts +1 -1
  18. package/dist/src/features/platform/api-slice.d.ts +8610 -2
  19. package/dist/src/features/platform/types.d.ts +219 -0
  20. package/dist/src/features/studio-authoring/__tests__/api-slice.test.d.ts +1 -0
  21. package/dist/src/features/studio-authoring/api-slice.d.ts +1601 -0
  22. package/dist/src/features/studio-authoring/constants.d.ts +39 -0
  23. package/dist/src/features/studio-authoring/types.d.ts +65 -0
  24. package/dist/src/features/support-tickets/api-slice.d.ts +2356 -0
  25. package/dist/src/features/support-tickets/constants.d.ts +29 -0
  26. package/dist/src/features/support-tickets/types.d.ts +114 -0
  27. package/dist/src/features/utils.d.ts +5 -0
  28. package/dist/src/index.d.ts +9 -0
  29. package/dist/src/utils/__tests__/index.test.d.ts +1 -0
  30. package/dist/src/utils/index.d.ts +1 -1
  31. package/dist/tests/features/platform/api-slice.test.d.ts +1 -0
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +1 -1
package/dist/index.esm.js CHANGED
@@ -39050,6 +39050,7 @@ var SERVICES;
39050
39050
  SERVICES["LMS"] = "LMS";
39051
39051
  SERVICES["DM"] = "DM";
39052
39052
  SERVICES["AXD"] = "AXD";
39053
+ SERVICES["STUDIO"] = "STUDIO";
39053
39054
  })(SERVICES || (SERVICES = {}));
39054
39055
 
39055
39056
  class Config {
@@ -39059,6 +39060,7 @@ Config.lmsUrl = 'https://learn.iblai.app';
39059
39060
  Config.dmUrl = 'https://base.manager.iblai.app';
39060
39061
  Config.axdUrl = 'https://base.manager.iblai.app';
39061
39062
  Config.mentorIframeUrl = 'https://mentor.iblai.tech';
39063
+ Config.studioUrl = 'https://studio.iblai.app';
39062
39064
  Config.httpErrorHandlers = {};
39063
39065
 
39064
39066
  class IblDataLayer {
@@ -39125,10 +39127,23 @@ const getServiceUrl = (service) => {
39125
39127
  return Config.lmsUrl;
39126
39128
  case SERVICES.DM:
39127
39129
  return Config.dmUrl;
39130
+ case SERVICES.STUDIO:
39131
+ return Config.studioUrl;
39128
39132
  default:
39129
39133
  return Config.dmUrl;
39130
39134
  }
39131
39135
  };
39136
+ /**
39137
+ * Read a cookie value by name. Returns null outside the browser or when the
39138
+ * cookie is absent. Used for Studio's CSRF token (`csrftoken`).
39139
+ */
39140
+ const getCookieValue = (name) => {
39141
+ if (typeof document === 'undefined') {
39142
+ return null;
39143
+ }
39144
+ const match = document.cookie.match(new RegExp(`(?:^|;\\s*)${name}=([^;]*)`));
39145
+ return match ? decodeURIComponent(match[1]) : null;
39146
+ };
39132
39147
  /**
39133
39148
  * Get the headers required for API requests based on the provided service type.
39134
39149
  */
@@ -39152,7 +39167,8 @@ const getHeaders = async (service) => {
39152
39167
  return; // No Authorization header when no valid token
39153
39168
  }
39154
39169
  let prefix;
39155
- if (service === SERVICES.LMS) {
39170
+ // Studio (Open edX CMS) accepts the same edX token as the LMS.
39171
+ if (service === SERVICES.LMS || service === SERVICES.STUDIO) {
39156
39172
  if (token.length > 30) {
39157
39173
  prefix = 'JWT';
39158
39174
  }
@@ -39255,7 +39271,7 @@ const isErrorObject = (data) => {
39255
39271
  const baseQuery = (service, jsonContentType = true, contentType, skipAuth = false) => fetchBaseQuery({
39256
39272
  baseUrl: getServiceUrl(service),
39257
39273
  timeout: 30000, // 30 second timeout
39258
- credentials: service === SERVICES.LEGACY_LMS ? 'include' : 'omit',
39274
+ credentials: service === SERVICES.LEGACY_LMS || service === SERVICES.STUDIO ? 'include' : 'omit',
39259
39275
  prepareHeaders: async (headers) => {
39260
39276
  // Only add auth headers if skipAuth is false
39261
39277
  if (!skipAuth) {
@@ -39273,6 +39289,18 @@ const baseQuery = (service, jsonContentType = true, contentType, skipAuth = fals
39273
39289
  if (contentType) {
39274
39290
  headers.set('Content-Type', contentType);
39275
39291
  }
39292
+ // Studio (Open edX CMS) endpoints require the Django CSRF token and only
39293
+ // return JSON when asked for it explicitly.
39294
+ if (service === SERVICES.STUDIO) {
39295
+ const csrfToken = getCookieValue('csrftoken');
39296
+ if (csrfToken) {
39297
+ headers.set('X-CSRFToken', csrfToken);
39298
+ }
39299
+ if (!headers.has('Accept')) {
39300
+ headers.set('Accept', 'application/json');
39301
+ }
39302
+ headers.set('X-Requested-With', 'XMLHttpRequest');
39303
+ }
39276
39304
  // Add CSRF protection headers for LMS service
39277
39305
  if (service === SERVICES.LMS) {
39278
39306
  // Use mentorIframeUrl for both origin and referer
@@ -39302,7 +39330,28 @@ const NON_RETRYABLE_STATUS_CODES = [402, 401];
39302
39330
  * Uses `retry.fail()` to immediately bail out of the retry loop.
39303
39331
  */
39304
39332
  const withNonRetryableErrors = (query) => async (args, api, extraOptions) => {
39305
- const result = await query(args, api, extraOptions);
39333
+ let result;
39334
+ try {
39335
+ result = await query(args, api, extraOptions);
39336
+ }
39337
+ catch (e) {
39338
+ // RTK's `retry` only counts attempts for errors RETURNED as `{ error }`
39339
+ // (wrapped in HandledError); a THROWN exception bypasses its
39340
+ // retryCondition and makes the `while (true)` loop spin forever —
39341
+ // an eternal 'pending' query with no network request and no surfaced
39342
+ // error. fetchBaseQuery can throw before fetch (e.g. from
39343
+ // prepareHeaders), so convert throws into returned errors to keep the
39344
+ // retry loop bounded.
39345
+ const message = e instanceof Error ? `${e.name}: ${e.message}` : String(e);
39346
+ return {
39347
+ error: {
39348
+ status: 'FETCH_ERROR',
39349
+ // `data` is what iblFetchBaseQuery propagates to callers/logs.
39350
+ data: message,
39351
+ error: message,
39352
+ },
39353
+ };
39354
+ }
39306
39355
  if (result.error && NON_RETRYABLE_STATUS_CODES.includes(result.error.status)) {
39307
39356
  retry$1.fail(result.error);
39308
39357
  }
@@ -39481,6 +39530,43 @@ const chatHistoryApiSlice = createApi({
39481
39530
  });
39482
39531
  const { useGetChatHistoryFilterQuery, useLazyGetChatHistoryFilterQuery, useGetChatHistoryQuery, useLazyGetChatHistoryQuery, useExportChatHistoryMutation, useGetChatHistoryExportStatusQuery, useLazyGetChatHistoryExportStatusQuery, } = chatHistoryApiSlice;
39483
39532
 
39533
+ const CHAT_CUSTOM_REDUCER_PATH = 'chatCustomApiSlice';
39534
+ /**
39535
+ * Recent-messages sidebar list pagination. The endpoint uses DRF
39536
+ * LimitOffsetPagination, so the page param is a row offset (not a page number).
39537
+ */
39538
+ const RECENT_MESSAGES_PAGE_SIZE = 10;
39539
+ const RECENT_MESSAGES_LIMIT_PARAM = 'limit';
39540
+ const RECENT_MESSAGES_OFFSET_PARAM = 'offset';
39541
+ const CHAT_CUSTOM_ENDPOINTS = {
39542
+ GET_CHAT_MESSAGE_TTS: {
39543
+ path: (org, user_id, chat_message_id) => `/api/ai-mentor/orgs/${org}/users/${user_id}/chat-messages/${chat_message_id}/tts`,
39544
+ service: SERVICES.DM,
39545
+ },
39546
+ };
39547
+
39548
+ /**
39549
+ * Derive the next row offset from a DRF LimitOffset response. Returns `undefined`
39550
+ * when there is no further page (missing/null `next`, or a non-paginated shape
39551
+ * such as a bare array), so the query degrades to a single page.
39552
+ */
39553
+ const getNextRecentMessagesPageParam = (lastPage, lastPageParam) => lastPage && !Array.isArray(lastPage) && lastPage.next
39554
+ ? lastPageParam + RECENT_MESSAGES_PAGE_SIZE
39555
+ : undefined;
39556
+ /**
39557
+ * Build the recent-messages URL for a given row offset. The endpoint uses DRF
39558
+ * LimitOffsetPagination (`limit`/`offset`), not page numbers.
39559
+ */
39560
+ const buildRecentMessagesUrl = (args, pageParam) => {
39561
+ const params = new URLSearchParams();
39562
+ params.append(RECENT_MESSAGES_LIMIT_PARAM, String(RECENT_MESSAGES_PAGE_SIZE));
39563
+ params.append(RECENT_MESSAGES_OFFSET_PARAM, String(pageParam));
39564
+ if (args.mentor)
39565
+ params.append('mentor', args.mentor);
39566
+ if (args.search && args.search.trim() !== '')
39567
+ params.append('search', args.search.trim());
39568
+ return `/api/ai-mentor/orgs/${args.org}/users/${args.userId}/recent-messages/?${params.toString()}`;
39569
+ };
39484
39570
  const chatApiSlice = createApi({
39485
39571
  reducerPath: 'chatApiSlice',
39486
39572
  baseQuery: iblFakeBaseQuery,
@@ -39515,6 +39601,21 @@ const chatApiSlice = createApi({
39515
39601
  getRecentMessage: builder.query({
39516
39602
  ...buildEndpointFromDmService(AiMentorService.aiMentorOrgsUsersRecentMessagesRetrieve),
39517
39603
  }),
39604
+ getRecentMessages: builder.infiniteQuery({
39605
+ infiniteQueryOptions: {
39606
+ initialPageParam: 0,
39607
+ getNextPageParam: (lastPage, _allPages, lastPageParam) => getNextRecentMessagesPageParam(lastPage, lastPageParam),
39608
+ },
39609
+ queryFn: async ({ queryArg, pageParam }, api, extraOptions) => {
39610
+ const url = buildRecentMessagesUrl(queryArg, pageParam);
39611
+ return iblFetchBaseQuery({
39612
+ url,
39613
+ method: 'GET',
39614
+ service: SERVICES.DM,
39615
+ }, api, extraOptions);
39616
+ },
39617
+ providesTags: ['recentMessages'],
39618
+ }),
39518
39619
  deleteMessage: builder.mutation({
39519
39620
  ...buildEndpointFromDmService(AiMentorService.aiMentorOrgsUsersSessionsDestroy),
39520
39621
  }),
@@ -39529,15 +39630,7 @@ const chatApiSlice = createApi({
39529
39630
  }),
39530
39631
  }),
39531
39632
  });
39532
- const { useLazyGetPinnedMessagesQuery, useUnPinMessageMutation, useDeleteMessageMutation, useGetPinnedMessagesQuery, useAddPinnedMessageMutation, useGetVectorDocumentsQuery, useLazyGetVectorDocumentsQuery, useGetRecentMessageQuery, useLazyGetRecentMessageQuery, useUpdateMessageFeedbackMutation, useAudioToTextMutation, } = chatApiSlice;
39533
-
39534
- const CHAT_CUSTOM_REDUCER_PATH = 'chatCustomApiSlice';
39535
- const CHAT_CUSTOM_ENDPOINTS = {
39536
- GET_CHAT_MESSAGE_TTS: {
39537
- path: (org, user_id, chat_message_id) => `/api/ai-mentor/orgs/${org}/users/${user_id}/chat-messages/${chat_message_id}/tts`,
39538
- service: SERVICES.DM,
39539
- },
39540
- };
39633
+ const { useLazyGetPinnedMessagesQuery, useUnPinMessageMutation, useDeleteMessageMutation, useGetPinnedMessagesQuery, useAddPinnedMessageMutation, useGetVectorDocumentsQuery, useLazyGetVectorDocumentsQuery, useGetRecentMessageQuery, useLazyGetRecentMessageQuery, useGetRecentMessagesInfiniteQuery, useUpdateMessageFeedbackMutation, useAudioToTextMutation, } = chatApiSlice;
39541
39634
 
39542
39635
  const chatCustomApiSlice = createApi({
39543
39636
  reducerPath: CHAT_CUSTOM_REDUCER_PATH,
@@ -40129,10 +40222,63 @@ const featureTags = {
40129
40222
  PLATFORM_USERS: 'PLATFORM_USERS',
40130
40223
  };
40131
40224
 
40225
+ /**
40226
+ * Fetch helper for the platform application gate. The pinned generated client
40227
+ * (@iblai/iblai-api 4.166.0-ai) predates these endpoints, so URLs are built by
40228
+ * hand. Runs inside buildEndpointFromService, which sets OpenAPI.BASE/HEADERS.
40229
+ * An explicit `token` (a DM token for another tenant, e.g. the main tenant when
40230
+ * the wizard runs on the auth SPA) overrides the stored tenant's Authorization.
40231
+ */
40232
+ async function applicationsRequest(path, { method = 'GET', query, body, token, } = {}) {
40233
+ const params = new URLSearchParams();
40234
+ for (const [key, value] of Object.entries(query !== null && query !== void 0 ? query : {})) {
40235
+ if (value !== undefined && value !== null && value !== '') {
40236
+ params.set(key, String(value));
40237
+ }
40238
+ }
40239
+ const queryString = params.toString();
40240
+ const url = `${OpenAPI.BASE}/api/catalog/applications/platform/${path}${queryString ? `?${queryString}` : ''}`;
40241
+ // FormData bodies (attachment uploads) set their own multipart boundary.
40242
+ const isFormData = typeof FormData !== 'undefined' && body instanceof FormData;
40243
+ const response = await fetch(url, {
40244
+ method,
40245
+ headers: {
40246
+ ...OpenAPI.HEADERS,
40247
+ ...(body !== undefined && !isFormData ? { 'Content-Type': 'application/json' } : {}),
40248
+ // DM tokens authenticate as `Token <value>` (see getHeaders in features/utils).
40249
+ ...(token ? { Authorization: `Token ${token}` } : {}),
40250
+ },
40251
+ credentials: 'omit',
40252
+ ...(body !== undefined ? { body: isFormData ? body : JSON.stringify(body) } : {}),
40253
+ });
40254
+ if (!response.ok) {
40255
+ const error = new Error(`Application request failed: ${method} ${path}`);
40256
+ error.status = response.status;
40257
+ const text = await response.text();
40258
+ try {
40259
+ // Parsed JSON (e.g. the structured validation-error list) so consumers
40260
+ // get an object on error.data rather than a string.
40261
+ error.body = JSON.parse(text);
40262
+ }
40263
+ catch (_a) {
40264
+ error.body = text;
40265
+ }
40266
+ throw error;
40267
+ }
40268
+ if (response.status === 204)
40269
+ return undefined;
40270
+ return (await response.json());
40271
+ }
40132
40272
  const platformApiSlice = createApi({
40133
40273
  reducerPath: 'platform-api',
40134
40274
  baseQuery: iblFakeBaseQuery,
40135
- tagTypes: [featureTags.PLATFORM_USERS, 'platform_invitations', 'platform_user_groups'],
40275
+ tagTypes: [
40276
+ featureTags.PLATFORM_USERS,
40277
+ 'platform_invitations',
40278
+ 'platform_user_groups',
40279
+ 'platform_application_forms',
40280
+ 'platform_applications',
40281
+ ],
40136
40282
  endpoints: (builder) => ({
40137
40283
  usersGradesPassed: builder.query({
40138
40284
  ...buildEndpointFromDmService(AiAnalyticsService.platformOrgsCoursesUsersGradesPassedRetrieve),
@@ -40229,10 +40375,252 @@ const platformApiSlice = createApi({
40229
40375
  ...buildEndpointFromDmService(CatalogService.catalogInvitationsPlatformCreate),
40230
40376
  invalidatesTags: ['platform_invitations'],
40231
40377
  }),
40378
+ // ---- Platform application gate (admissions) ----
40379
+ // Applicant-facing: the gate state — the single call that drives the wizard's
40380
+ // initial routing (mode, membership, active forms, resolved form, the caller's
40381
+ // submission + fee state, renewal config). Takes platform_key (or platform_org)
40382
+ // and an optional form_id to disambiguate when several forms exist.
40383
+ // All applicant-facing endpoints accept an optional `token`: an explicit DM
40384
+ // token overriding the stored tenant's (e.g. the main-tenant token when the
40385
+ // wizard runs on the auth SPA). It is stripped before building query/body.
40386
+ getApplicationStatus: builder.query({
40387
+ ...buildEndpointFromService(SERVICES.DM, async ({ token, ...query }) => applicationsRequest('status/', { query, token })),
40388
+ providesTags: ['platform_applications'],
40389
+ }),
40390
+ // Applicant-facing: the resolved active form (schema + version) for a platform.
40391
+ getApplicationForm: builder.query({
40392
+ ...buildEndpointFromService(SERVICES.DM, async ({ token, ...query }) => applicationsRequest('form/', { query, token })),
40393
+ providesTags: ['platform_application_forms'],
40394
+ }),
40395
+ // Applicant-facing: create a draft submission (possibly partial responses).
40396
+ createApplicationDraft: builder.mutation({
40397
+ ...buildEndpointFromService(SERVICES.DM, async ({ token, ...body }) => applicationsRequest('', { method: 'POST', body, token }), { expectedErrorStatuses: [400, 409] }),
40398
+ }),
40399
+ // Applicant-facing: replace the draft's responses (full object, not a delta).
40400
+ updateApplication: builder.mutation({
40401
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, token, ...body }) => applicationsRequest(`${submission_id}/`, {
40402
+ method: 'PATCH',
40403
+ body,
40404
+ token,
40405
+ }), { expectedErrorStatuses: [400, 409] }),
40406
+ }),
40407
+ // Applicant-facing: submit the application (optional responses replace first).
40408
+ submitApplication: builder.mutation({
40409
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, token, ...body }) => applicationsRequest(`${submission_id}/submit/`, {
40410
+ method: 'POST',
40411
+ body,
40412
+ token,
40413
+ }), { expectedErrorStatuses: [400, 402, 409] }),
40414
+ invalidatesTags: ['platform_applications'],
40415
+ }),
40416
+ // Applicant-facing: upload one file for a field path ("section.field").
40417
+ uploadApplicationAttachment: builder.mutation({
40418
+ ...buildEndpointFromService(SERVICES.DM, async (args) => {
40419
+ const body = new FormData();
40420
+ body.append('platform_key', args.platform_key);
40421
+ body.append('field', args.field);
40422
+ if (args.item_id)
40423
+ body.append('item_id', args.item_id);
40424
+ body.append('file', args.file);
40425
+ return applicationsRequest(`${args.submission_id}/attachments/`, { method: 'POST', body, token: args.token });
40426
+ }, { expectedErrorStatuses: [400, 409, 413] }),
40427
+ }),
40428
+ // Applicant-facing: delete an uploaded attachment (editable drafts only).
40429
+ deleteApplicationAttachment: builder.mutation({
40430
+ ...buildEndpointFromService(SERVICES.DM, async (args) => applicationsRequest(`${args.submission_id}/attachments/${args.attachment_id}/`, {
40431
+ method: 'DELETE',
40432
+ query: { platform_key: args.platform_key },
40433
+ token: args.token,
40434
+ }), { expectedErrorStatuses: [404, 409] }),
40435
+ }),
40436
+ // Applicant-facing: every application of the caller on this platform,
40437
+ // newest first (not paginated).
40438
+ listOwnApplications: builder.query({
40439
+ ...buildEndpointFromService(SERVICES.DM, async ({ token, ...query }) => applicationsRequest('', { query, token })),
40440
+ providesTags: ['platform_applications'],
40441
+ }),
40442
+ // Applicant-facing: start a renewal draft pre-filled from the caller's most
40443
+ // recent approved application on the form (plain create when none exists).
40444
+ renewApplication: builder.mutation({
40445
+ ...buildEndpointFromService(SERVICES.DM, async ({ token, ...body }) => applicationsRequest('renew/', { method: 'POST', body, token }), { expectedErrorStatuses: [400, 409] }),
40446
+ }),
40447
+ // Applicant-facing: withdraw an undecided application.
40448
+ withdrawApplication: builder.mutation({
40449
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, token, ...body }) => applicationsRequest(`${submission_id}/withdraw/`, {
40450
+ method: 'POST',
40451
+ body,
40452
+ token,
40453
+ }), { expectedErrorStatuses: [409] }),
40454
+ invalidatesTags: ['platform_applications'],
40455
+ }),
40456
+ getApplicationForms: builder.query({
40457
+ ...buildEndpointFromService(SERVICES.DM, async (args) => applicationsRequest('forms/manage/', {
40458
+ query: args,
40459
+ })),
40460
+ providesTags: ['platform_application_forms'],
40461
+ }),
40462
+ getApplicationFormDetail: builder.query({
40463
+ ...buildEndpointFromService(SERVICES.DM, async ({ form_id, ...query }) => applicationsRequest(`forms/manage/${form_id}/`, {
40464
+ query,
40465
+ })),
40466
+ providesTags: ['platform_application_forms'],
40467
+ }),
40468
+ createApplicationForm: builder.mutation({
40469
+ ...buildEndpointFromService(SERVICES.DM, async (args) => applicationsRequest('forms/manage/', {
40470
+ method: 'POST',
40471
+ body: args,
40472
+ }), { expectedErrorStatuses: [400, 409] }),
40473
+ invalidatesTags: ['platform_application_forms'],
40474
+ }),
40475
+ updateApplicationForm: builder.mutation({
40476
+ ...buildEndpointFromService(SERVICES.DM, async ({ form_id, ...body }) => applicationsRequest(`forms/manage/${form_id}/`, {
40477
+ method: 'PATCH',
40478
+ body,
40479
+ }), { expectedErrorStatuses: [400, 409] }),
40480
+ invalidatesTags: ['platform_application_forms'],
40481
+ }),
40482
+ getApplicationsPipeline: builder.query({
40483
+ ...buildEndpointFromService(SERVICES.DM, async (args) => applicationsRequest('manage/', { query: args })),
40484
+ providesTags: ['platform_applications'],
40485
+ }),
40486
+ getApplicationsPipelineStats: builder.query({
40487
+ ...buildEndpointFromService(SERVICES.DM, async (args) => applicationsRequest('manage/stats/', { query: args })),
40488
+ providesTags: ['platform_applications'],
40489
+ }),
40490
+ // Reviewer: the full application workspace payload (answers, candidates,
40491
+ // audit trail, notes, blocking checklist, placements, assignments).
40492
+ getApplicationAdminDetail: builder.query({
40493
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, ...query }) => applicationsRequest(`manage/${submission_id}/`, {
40494
+ query,
40495
+ })),
40496
+ providesTags: ['platform_applications'],
40497
+ }),
40498
+ // Reviewer: decide / move an application or one of its candidates.
40499
+ transitionApplication: builder.mutation({
40500
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, ...body }) => applicationsRequest(`manage/${submission_id}/transition/`, {
40501
+ method: 'POST',
40502
+ body,
40503
+ }), { expectedErrorStatuses: [400, 404, 409] }),
40504
+ invalidatesTags: ['platform_applications'],
40505
+ }),
40506
+ // Reviewer: excuse (or reinstate) one required item on an editable application.
40507
+ createApplicationWaiver: builder.mutation({
40508
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, ...body }) => applicationsRequest(`manage/${submission_id}/waivers/`, {
40509
+ method: 'POST',
40510
+ body,
40511
+ }), { expectedErrorStatuses: [400, 409] }),
40512
+ invalidatesTags: ['platform_applications'],
40513
+ }),
40514
+ deleteApplicationWaiver: builder.mutation({
40515
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, ...body }) => applicationsRequest(`manage/${submission_id}/waivers/`, {
40516
+ method: 'DELETE',
40517
+ body,
40518
+ }), { expectedErrorStatuses: [400, 404, 409] }),
40519
+ invalidatesTags: ['platform_applications'],
40520
+ }),
40521
+ // Reviewer: submit a stuck draft, waiving every missing required item.
40522
+ submitApplicationOverride: builder.mutation({
40523
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, ...body }) => applicationsRequest(`manage/${submission_id}/submit/`, {
40524
+ method: 'POST',
40525
+ body,
40526
+ }), { expectedErrorStatuses: [400, 409] }),
40527
+ invalidatesTags: ['platform_applications'],
40528
+ }),
40529
+ // Reviewer: internal notes on an application.
40530
+ getApplicationNotes: builder.query({
40531
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, ...query }) => applicationsRequest(`manage/${submission_id}/notes/`, { query })),
40532
+ providesTags: ['platform_applications'],
40533
+ }),
40534
+ createApplicationNote: builder.mutation({
40535
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, ...body }) => applicationsRequest(`manage/${submission_id}/notes/`, {
40536
+ method: 'POST',
40537
+ body,
40538
+ }), { expectedErrorStatuses: [400] }),
40539
+ invalidatesTags: ['platform_applications'],
40540
+ }),
40541
+ updateApplicationNote: builder.mutation({
40542
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, note_id, ...body }) => applicationsRequest(`manage/${submission_id}/notes/${note_id}/`, { method: 'PATCH', body }), { expectedErrorStatuses: [400, 404] }),
40543
+ invalidatesTags: ['platform_applications'],
40544
+ }),
40545
+ deleteApplicationNote: builder.mutation({
40546
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, note_id, ...body }) => applicationsRequest(`manage/${submission_id}/notes/${note_id}/`, {
40547
+ method: 'DELETE',
40548
+ body,
40549
+ }), { expectedErrorStatuses: [404] }),
40550
+ invalidatesTags: ['platform_applications'],
40551
+ }),
40552
+ // Reviewer: fetch an attachment as a blob object URL (the endpoint 302s to
40553
+ // time-limited cloud storage; fetch follows it with auth attached).
40554
+ getApplicationAttachmentFile: builder.query({
40555
+ ...buildEndpointFromService(SERVICES.DM, async (args) => {
40556
+ const url = `${OpenAPI.BASE}/api/catalog/applications/platform/manage/${args.submission_id}/attachments/${args.attachment_id}/download?platform_key=${encodeURIComponent(args.platform_key)}`;
40557
+ const response = await fetch(url, {
40558
+ headers: OpenAPI.HEADERS,
40559
+ credentials: 'omit',
40560
+ });
40561
+ if (!response.ok) {
40562
+ const error = new Error('Attachment download failed');
40563
+ error.status = response.status;
40564
+ throw error;
40565
+ }
40566
+ const blob = await response.blob();
40567
+ return { url: URL.createObjectURL(blob), contentType: blob.type };
40568
+ }),
40569
+ }),
40570
+ // Reviewer: the ban list (blocks are created via decline-with-block).
40571
+ getApplicationBlocks: builder.query({
40572
+ ...buildEndpointFromService(SERVICES.DM, async (args) => applicationsRequest('manage/blocks/', {
40573
+ query: args,
40574
+ })),
40575
+ providesTags: ['platform_applications'],
40576
+ }),
40577
+ deleteApplicationBlock: builder.mutation({
40578
+ ...buildEndpointFromService(SERVICES.DM, async (args) => applicationsRequest(`manage/blocks/${args.block_id}/`, {
40579
+ method: 'DELETE',
40580
+ query: { platform_key: args.platform_key },
40581
+ }), { expectedErrorStatuses: [404] }),
40582
+ invalidatesTags: ['platform_applications'],
40583
+ }),
40584
+ // Reviewer: placement tests for accepted students (bulk create, per-row results).
40585
+ getApplicationPlacements: builder.query({
40586
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, ...query }) => applicationsRequest(`manage/${submission_id}/placements/`, { query })),
40587
+ providesTags: ['platform_applications'],
40588
+ }),
40589
+ createApplicationPlacements: builder.mutation({
40590
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, ...body }) => applicationsRequest(`manage/${submission_id}/placements/`, { method: 'POST', body }), { expectedErrorStatuses: [400] }),
40591
+ invalidatesTags: ['platform_applications'],
40592
+ }),
40593
+ updateApplicationPlacement: builder.mutation({
40594
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, placement_id, ...body }) => applicationsRequest(`manage/${submission_id}/placements/${placement_id}/`, { method: 'PATCH', body }), { expectedErrorStatuses: [400, 404] }),
40595
+ invalidatesTags: ['platform_applications'],
40596
+ }),
40597
+ // Reviewer: course assignments for accepted students (bulk create, per-row results).
40598
+ getApplicationCourseAssignments: builder.query({
40599
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, ...query }) => applicationsRequest(`manage/${submission_id}/course-assignments/`, { query })),
40600
+ providesTags: ['platform_applications'],
40601
+ }),
40602
+ createApplicationCourseAssignments: builder.mutation({
40603
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, ...body }) => applicationsRequest(`manage/${submission_id}/course-assignments/`, { method: 'POST', body }), { expectedErrorStatuses: [400] }),
40604
+ invalidatesTags: ['platform_applications'],
40605
+ }),
40606
+ deleteApplicationCourseAssignment: builder.mutation({
40607
+ ...buildEndpointFromService(SERVICES.DM, async (args) => applicationsRequest(`manage/${args.submission_id}/course-assignments/${args.assignment_id}/`, { method: 'DELETE', query: { platform_key: args.platform_key } }), { expectedErrorStatuses: [404] }),
40608
+ invalidatesTags: ['platform_applications'],
40609
+ }),
40610
+ // Reviewer: re-run account provisioning for one accepted student.
40611
+ inviteApplicationCandidate: builder.mutation({
40612
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, candidate_id, ...body }) => applicationsRequest(`manage/${submission_id}/candidates/${candidate_id}/invite/`, { method: 'POST', body }), { expectedErrorStatuses: [400, 404, 409] }),
40613
+ invalidatesTags: ['platform_applications'],
40614
+ }),
40615
+ // Reviewer: link a student to an existing platform account.
40616
+ linkApplicationCandidate: builder.mutation({
40617
+ ...buildEndpointFromService(SERVICES.DM, async ({ submission_id, candidate_id, ...body }) => applicationsRequest(`manage/${submission_id}/candidates/${candidate_id}/link/`, { method: 'POST', body }), { expectedErrorStatuses: [400, 404, 409] }),
40618
+ invalidatesTags: ['platform_applications'],
40619
+ }),
40232
40620
  }),
40233
40621
  });
40234
40622
  const platformApiReducer = platformApiSlice.reducer;
40235
- const { useUsersGradesPassedQuery, useLazyPlatformUsersQuery, useLazyPlatformUserGroupsQuery, usePlatformUserGroupsQuery, usePlatformInvitationsQuery, usePlatformUsersQuery, useInviteUserMutation, useUpdatePlatformUserRoleWithPoliciesMutation, useCreatePlatformUserGroupMutation, useUpdatePlatformUserGroupMutation, useDeletePlatformUserGroupMutation, useGetPlatformUserGroupDetailsQuery, } = platformApiSlice;
40623
+ const { useUsersGradesPassedQuery, useLazyPlatformUsersQuery, useLazyPlatformUserGroupsQuery, usePlatformUserGroupsQuery, usePlatformInvitationsQuery, usePlatformUsersQuery, useInviteUserMutation, useUpdatePlatformUserRoleWithPoliciesMutation, useCreatePlatformUserGroupMutation, useUpdatePlatformUserGroupMutation, useDeletePlatformUserGroupMutation, useGetPlatformUserGroupDetailsQuery, useGetApplicationStatusQuery, useLazyGetApplicationStatusQuery, useGetApplicationFormQuery, useLazyGetApplicationFormQuery, useCreateApplicationDraftMutation, useUpdateApplicationMutation, useSubmitApplicationMutation, useUploadApplicationAttachmentMutation, useDeleteApplicationAttachmentMutation, useGetApplicationFormsQuery, useLazyGetApplicationFormsQuery, useGetApplicationFormDetailQuery, useLazyGetApplicationFormDetailQuery, useCreateApplicationFormMutation, useUpdateApplicationFormMutation, useGetApplicationsPipelineQuery, useLazyGetApplicationsPipelineQuery, useGetApplicationsPipelineStatsQuery, useListOwnApplicationsQuery, useLazyListOwnApplicationsQuery, useRenewApplicationMutation, useWithdrawApplicationMutation, useGetApplicationAdminDetailQuery, useLazyGetApplicationAdminDetailQuery, useTransitionApplicationMutation, useCreateApplicationWaiverMutation, useDeleteApplicationWaiverMutation, useSubmitApplicationOverrideMutation, useGetApplicationNotesQuery, useCreateApplicationNoteMutation, useUpdateApplicationNoteMutation, useDeleteApplicationNoteMutation, useLazyGetApplicationAttachmentFileQuery, useGetApplicationBlocksQuery, useDeleteApplicationBlockMutation, useGetApplicationPlacementsQuery, useCreateApplicationPlacementsMutation, useUpdateApplicationPlacementMutation, useGetApplicationCourseAssignmentsQuery, useCreateApplicationCourseAssignmentsMutation, useDeleteApplicationCourseAssignmentMutation, useInviteApplicationCandidateMutation, useLinkApplicationCandidateMutation, } = platformApiSlice;
40236
40624
 
40237
40625
  const USERS_ENDPOINTS = {
40238
40626
  GET_USER_METADATA: {
@@ -40421,6 +40809,32 @@ const userApiSlice = createApi({
40421
40809
  });
40422
40810
  const { useGetUserMetadataQuery, useLazyGetUserMetadataQuery, useUpdateUserMetadataMutation, useUpdateUserAccountMutation, useResetPasswordMutation, useUpdateUserRoleMutation, useUploadProfileImageMutation, useRemoveProfileImageMutation, useGetUserMetadataEdxQuery, useLazyGetUserMetadataEdxQuery, useUpdateUserMetadataEdxMutation, useGetUserPlatformMetadataQuery, useLazyGetUserPlatformMetadataQuery, useUpdateUserPlatformMetadataMutation, } = userApiSlice;
40423
40811
 
40812
+ /**
40813
+ * Shared fetch for the paginated LTI provider list endpoints. Sends
40814
+ * `platform_key`, optional `mentor_id` (Agent Links), and `page` / `page_size`.
40815
+ */
40816
+ async function fetchLtiList(path, args) {
40817
+ const queryParams = new URLSearchParams({ platform_key: args.platformKey });
40818
+ if (args.mentorId)
40819
+ queryParams.set('mentor_id', args.mentorId);
40820
+ if (args.page !== undefined)
40821
+ queryParams.set('page', String(args.page));
40822
+ if (args.pageSize !== undefined)
40823
+ queryParams.set('page_size', String(args.pageSize));
40824
+ const url = `${OpenAPI.BASE}/api/core/lti/1p3/provider/${path}/?${queryParams.toString()}`;
40825
+ const response = await fetch(url, {
40826
+ method: 'GET',
40827
+ headers: OpenAPI.HEADERS,
40828
+ credentials: 'omit',
40829
+ });
40830
+ if (!response.ok) {
40831
+ throw Object.assign(new Error(`Failed to fetch ${path}`), {
40832
+ status: response.status,
40833
+ body: await response.text(),
40834
+ });
40835
+ }
40836
+ return response.json();
40837
+ }
40424
40838
  const coreApiSlice = createApi({
40425
40839
  reducerPath: 'coreApiSlice',
40426
40840
  baseQuery: iblFakeBaseQuery,
@@ -40710,6 +41124,83 @@ const coreApiSlice = createApi({
40710
41124
  return response.json();
40711
41125
  }),
40712
41126
  }),
41127
+ // ── RBAC resource discovery (incremental resource-path builder) ──
41128
+ // Custom calls: the pinned @iblai/iblai-api client does not expose the
41129
+ // discovery endpoint yet, and list_url is a dynamic relative URL returned
41130
+ // by the discovery response rather than a fixed generated route.
41131
+ getRbacResourceDiscovery: builder.query({
41132
+ ...buildEndpointFromService(SERVICES.DM, async (args) => {
41133
+ // URLSearchParams escapes the slashes in `path` for us.
41134
+ const queryParams = new URLSearchParams({ path: args.path });
41135
+ if (args.platformKey)
41136
+ queryParams.set('platform_key', args.platformKey);
41137
+ const url = `${OpenAPI.BASE}/api/core/rbac/resources/?${queryParams.toString()}`;
41138
+ const response = await fetch(url, {
41139
+ method: 'GET',
41140
+ headers: OpenAPI.HEADERS,
41141
+ credentials: 'omit',
41142
+ });
41143
+ if (!response.ok) {
41144
+ throw Object.assign(new Error('Failed to fetch RBAC resource discovery'), {
41145
+ status: response.status,
41146
+ body: await response.text(),
41147
+ });
41148
+ }
41149
+ return response.json();
41150
+ }),
41151
+ }),
41152
+ getRbacResourceList: builder.query({
41153
+ ...buildEndpointFromService(SERVICES.DM, async (args) => {
41154
+ var _a, _b, _c, _d, _e, _f;
41155
+ const url = new URL(`${OpenAPI.BASE}${args.listUrl}`);
41156
+ for (const [key, value] of Object.entries((_a = args.searchParams) !== null && _a !== void 0 ? _a : {})) {
41157
+ if (value !== '')
41158
+ url.searchParams.set(key, value);
41159
+ }
41160
+ const response = await fetch(url.toString(), {
41161
+ method: 'GET',
41162
+ headers: OpenAPI.HEADERS,
41163
+ credentials: 'omit',
41164
+ });
41165
+ if (!response.ok) {
41166
+ throw Object.assign(new Error('Failed to fetch RBAC resource list'), {
41167
+ status: response.status,
41168
+ body: await response.text(),
41169
+ });
41170
+ }
41171
+ const raw = await response.json();
41172
+ // The list endpoints vary per collection: bare arrays, DRF
41173
+ // envelopes ({results}), or nested ({results: {data}} / {data}).
41174
+ const rows = Array.isArray(raw)
41175
+ ? raw
41176
+ : Array.isArray(raw === null || raw === void 0 ? void 0 : raw.results)
41177
+ ? raw.results
41178
+ : Array.isArray((_b = raw === null || raw === void 0 ? void 0 : raw.results) === null || _b === void 0 ? void 0 : _b.data)
41179
+ ? raw.results.data
41180
+ : Array.isArray(raw === null || raw === void 0 ? void 0 : raw.data)
41181
+ ? raw.data
41182
+ : [];
41183
+ const pkField = (_d = (_c = args.resultFields) === null || _c === void 0 ? void 0 : _c.pk) !== null && _d !== void 0 ? _d : 'id';
41184
+ const nameField = (_f = (_e = args.resultFields) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : 'name';
41185
+ const items = rows
41186
+ .filter((row) => (row === null || row === void 0 ? void 0 : row[pkField]) !== undefined && (row === null || row === void 0 ? void 0 : row[pkField]) !== null)
41187
+ .map((row) => {
41188
+ // Some rows (e.g. platform users) have a blank name — fall back
41189
+ // to their email, then to the pk, so the picker never shows an
41190
+ // empty label.
41191
+ const rawName = row[nameField];
41192
+ const name = (typeof rawName === 'string' ? rawName.trim() : rawName) ||
41193
+ (typeof row.email === 'string' ? row.email : '') ||
41194
+ String(row[pkField]);
41195
+ return {
41196
+ pk: row[pkField],
41197
+ name: String(name),
41198
+ raw: row,
41199
+ };
41200
+ });
41201
+ return { items, raw };
41202
+ }),
41203
+ }),
40713
41204
  getRbacTeamsAccessList: builder.query({
40714
41205
  ...buildEndpointFromDmService(CoreService.coreRbacTeamsAccessList),
40715
41206
  providesTags: ['RbacTeamsAccess'],
@@ -40720,7 +41211,7 @@ const coreApiSlice = createApi({
40720
41211
  }),
40721
41212
  // ── LTI 1.3 Provider: Keys (platform-wide RSA signing keys) ──
40722
41213
  getLtiKeys: builder.query({
40723
- ...buildEndpointFromDmService(CoreService.coreLti1P3ProviderLtiKeysList),
41214
+ ...buildEndpointFromService(SERVICES.DM, (args) => fetchLtiList('lti-keys', args)),
40724
41215
  providesTags: ['LtiKeys'],
40725
41216
  }),
40726
41217
  getLtiKeyDetail: builder.query({
@@ -40749,24 +41240,7 @@ const coreApiSlice = createApi({
40749
41240
  // The generated CoreService.coreLti1P3ProviderLtiMentorsList only sends
40750
41241
  // platform_key.
40751
41242
  getLtiMentors: builder.query({
40752
- ...buildEndpointFromService(SERVICES.DM, async (args) => {
40753
- const queryParams = new URLSearchParams({ platform_key: args.platformKey });
40754
- if (args.mentorId)
40755
- queryParams.set('mentor_id', args.mentorId);
40756
- const url = `${OpenAPI.BASE}/api/core/lti/1p3/provider/lti-mentors/?${queryParams.toString()}`;
40757
- const response = await fetch(url, {
40758
- method: 'GET',
40759
- headers: OpenAPI.HEADERS,
40760
- credentials: 'omit',
40761
- });
40762
- if (!response.ok) {
40763
- throw Object.assign(new Error('Failed to fetch LTI mentors'), {
40764
- status: response.status,
40765
- body: await response.text(),
40766
- });
40767
- }
40768
- return response.json();
40769
- }),
41243
+ ...buildEndpointFromService(SERVICES.DM, (args) => fetchLtiList('lti-mentors', args)),
40770
41244
  providesTags: ['LtiMentors'],
40771
41245
  }),
40772
41246
  getLtiMentorDetail: builder.query({
@@ -40789,7 +41263,7 @@ const coreApiSlice = createApi({
40789
41263
  }),
40790
41264
  // ── LTI 1.3 Provider: Tools (platform-wide LTI Platform integrations) ──
40791
41265
  getLtiTools: builder.query({
40792
- ...buildEndpointFromDmService(CoreService.coreLti1P3ProviderLtiToolsList),
41266
+ ...buildEndpointFromService(SERVICES.DM, (args) => fetchLtiList('lti-tools', args)),
40793
41267
  providesTags: ['LtiTools'],
40794
41268
  }),
40795
41269
  getLtiToolDetail: builder.query({
@@ -40812,7 +41286,7 @@ const coreApiSlice = createApi({
40812
41286
  }),
40813
41287
  }),
40814
41288
  });
40815
- const { useCreateRedirectTokenMutation, useGetPlatformInfoQuery, useGetRbacPermissionsMutation, useLazyGetPlatformInfoQuery, useUpdatePlatformInfoMutation, useUpdateUserStatusMutation, useGetStudentMentorCreationStatusQuery, useSetStudentMentorCreationStatusMutation, useGetRbacGroupsQuery, useCreateRbacGroupMutation, useUpdateRbacGroupMutation, useDeleteRbacGroupMutation, useGetRbacGroupDetailsQuery, useGetRbacPoliciesQuery, useCreateRbacPolicyMutation, useUpdateRbacPolicyMutation, useDeleteRbacPolicyMutation, useGetRbacPolicyDetailsQuery, useGetRbacRolesQuery, useLazyGetRbacRolesQuery, useCreateRbacRoleMutation, useUpdateRbacRoleMutation, usePartialUpdateRbacRoleMutation, useDeleteRbacRoleMutation, useGetRbacRoleDetailsQuery, useGetDepartmentMemberCheckQuery, useLazyGetDepartmentMemberCheckQuery, useGetRbacMentorAccessListQuery, useUpdateRbacMentorAccessMutation, useGetRbacActionsDefinitionQuery, useLazyGetRbacActionsDefinitionQuery, useGetRbacTeamsAccessListQuery, useLazyGetRbacTeamsAccessListQuery, useCreateRbacTeamsAccessMutation,
41289
+ const { useCreateRedirectTokenMutation, useGetPlatformInfoQuery, useGetRbacPermissionsMutation, useLazyGetPlatformInfoQuery, useUpdatePlatformInfoMutation, useUpdateUserStatusMutation, useGetStudentMentorCreationStatusQuery, useSetStudentMentorCreationStatusMutation, useGetRbacGroupsQuery, useCreateRbacGroupMutation, useUpdateRbacGroupMutation, useDeleteRbacGroupMutation, useGetRbacGroupDetailsQuery, useGetRbacPoliciesQuery, useCreateRbacPolicyMutation, useUpdateRbacPolicyMutation, useDeleteRbacPolicyMutation, useGetRbacPolicyDetailsQuery, useGetRbacRolesQuery, useLazyGetRbacRolesQuery, useCreateRbacRoleMutation, useUpdateRbacRoleMutation, usePartialUpdateRbacRoleMutation, useDeleteRbacRoleMutation, useGetRbacRoleDetailsQuery, useGetDepartmentMemberCheckQuery, useLazyGetDepartmentMemberCheckQuery, useGetRbacMentorAccessListQuery, useUpdateRbacMentorAccessMutation, useGetRbacActionsDefinitionQuery, useLazyGetRbacActionsDefinitionQuery, useGetRbacResourceDiscoveryQuery, useLazyGetRbacResourceDiscoveryQuery, useGetRbacResourceListQuery, useLazyGetRbacResourceListQuery, useGetRbacTeamsAccessListQuery, useLazyGetRbacTeamsAccessListQuery, useCreateRbacTeamsAccessMutation,
40816
41290
  // LTI Keys
40817
41291
  useGetLtiKeysQuery, useGetLtiKeyDetailQuery, useLazyGetLtiKeyDetailQuery, useCreateLtiKeyMutation, useUpdateLtiKeyMutation, useDeleteLtiKeyMutation,
40818
41292
  // LTI Agent (Mentor) Links
@@ -42702,6 +43176,155 @@ const edxSsoApiSlice = createApi({
42702
43176
  });
42703
43177
  const { useGetEdxSSOTokenQuery, useLazyGetEdxSSOTokenQuery } = edxSsoApiSlice;
42704
43178
 
43179
+ const STUDIO_AUTHORING_ENDPOINTS = {
43180
+ CREATE_COURSE: {
43181
+ path: (contentType) => `/api/ibl/manage/${contentType}/`,
43182
+ service: SERVICES.STUDIO,
43183
+ },
43184
+ DELETE_COURSE: {
43185
+ path: () => '/api/ibl/manage/course/delete',
43186
+ service: SERVICES.STUDIO,
43187
+ },
43188
+ COURSE_SETTINGS: {
43189
+ path: (contentType) => `/api/ibl/v1/${contentType}_settings/`,
43190
+ service: SERVICES.STUDIO,
43191
+ },
43192
+ CREATE_XBLOCK: {
43193
+ path: () => '/xblock/',
43194
+ service: SERVICES.STUDIO,
43195
+ },
43196
+ UPDATE_XBLOCK: {
43197
+ path: (locator) => `/xblock/${locator}`,
43198
+ service: SERVICES.STUDIO,
43199
+ },
43200
+ SCORM_SUBMIT: {
43201
+ path: (locator) => `/xblock/${locator}/handler/studio_submit`,
43202
+ service: SERVICES.STUDIO,
43203
+ },
43204
+ UPLOAD_ASSET: {
43205
+ path: (courseKey) => `/assets/${courseKey}/`,
43206
+ service: SERVICES.STUDIO,
43207
+ },
43208
+ ADVANCED_SETTINGS: {
43209
+ path: (courseKey) => `/settings/advanced/${courseKey}`,
43210
+ service: SERVICES.STUDIO,
43211
+ },
43212
+ VIDEO_UPLOAD: {
43213
+ path: (courseKey) => `/api/v1/ibl/course/${courseKey}/s3-upload`,
43214
+ service: SERVICES.STUDIO,
43215
+ },
43216
+ };
43217
+
43218
+ /**
43219
+ * Studio (Open edX CMS) course-authoring endpoints. These hit the Studio host
43220
+ * (`Config.studioUrl`) with cookie-session auth + CSRF token, mirroring how
43221
+ * Studio's own frontend talks to it.
43222
+ */
43223
+ const studioAuthoringApiSlice = createApi({
43224
+ reducerPath: 'studioAuthoringApiSlice',
43225
+ baseQuery: iblFetchBaseQuery,
43226
+ endpoints: (builder) => ({
43227
+ /** Create the course (or library) shell. Returns `course_key`. */
43228
+ createStudioCourse: builder.mutation({
43229
+ query: ({ courseData, contentType = 'course' }) => ({
43230
+ url: STUDIO_AUTHORING_ENDPOINTS.CREATE_COURSE.path(contentType),
43231
+ service: STUDIO_AUTHORING_ENDPOINTS.CREATE_COURSE.service,
43232
+ method: 'POST',
43233
+ body: courseData,
43234
+ }),
43235
+ }),
43236
+ /** Delete a course — used as rollback when a later creation step fails. */
43237
+ deleteStudioCourse: builder.mutation({
43238
+ query: ({ courseKey }) => ({
43239
+ url: STUDIO_AUTHORING_ENDPOINTS.DELETE_COURSE.path(),
43240
+ service: STUDIO_AUTHORING_ENDPOINTS.DELETE_COURSE.service,
43241
+ method: 'POST',
43242
+ body: { course_key: courseKey },
43243
+ }),
43244
+ }),
43245
+ /** Set the full course settings/metadata payload. */
43246
+ updateStudioCourseSettings: builder.mutation({
43247
+ query: ({ settings, contentType = 'course' }) => ({
43248
+ url: STUDIO_AUTHORING_ENDPOINTS.COURSE_SETTINGS.path(contentType),
43249
+ service: STUDIO_AUTHORING_ENDPOINTS.COURSE_SETTINGS.service,
43250
+ method: 'POST',
43251
+ body: settings,
43252
+ }),
43253
+ }),
43254
+ /**
43255
+ * Create an xblock node (chapter / sequential / vertical / video / scorm)
43256
+ * under `parent_locator`.
43257
+ */
43258
+ createStudioXblock: builder.mutation({
43259
+ query: (blockData) => ({
43260
+ url: STUDIO_AUTHORING_ENDPOINTS.CREATE_XBLOCK.path(),
43261
+ service: STUDIO_AUTHORING_ENDPOINTS.CREATE_XBLOCK.service,
43262
+ method: 'POST',
43263
+ body: blockData,
43264
+ }),
43265
+ }),
43266
+ /**
43267
+ * Update an existing xblock by locator — used for video metadata and for
43268
+ * publishing a unit (`{ publish: 'make_public' }`).
43269
+ */
43270
+ updateStudioXblock: builder.mutation({
43271
+ query: ({ locator, blockData }) => ({
43272
+ url: STUDIO_AUTHORING_ENDPOINTS.UPDATE_XBLOCK.path(encodeURIComponent(locator)),
43273
+ service: STUDIO_AUTHORING_ENDPOINTS.UPDATE_XBLOCK.service,
43274
+ method: 'POST',
43275
+ body: blockData,
43276
+ }),
43277
+ }),
43278
+ /** Upload the SCORM zip to the scorm xblock's `studio_submit` handler. */
43279
+ uploadStudioScormPackage: builder.mutation({
43280
+ query: ({ locator, formData }) => ({
43281
+ url: STUDIO_AUTHORING_ENDPOINTS.SCORM_SUBMIT.path(encodeURIComponent(locator)),
43282
+ service: STUDIO_AUTHORING_ENDPOINTS.SCORM_SUBMIT.service,
43283
+ method: 'POST',
43284
+ body: formData,
43285
+ isJson: false,
43286
+ }),
43287
+ }),
43288
+ /** Upload a course asset (e.g. the course card image). */
43289
+ uploadStudioCourseAsset: builder.mutation({
43290
+ query: ({ courseKey, formData }) => ({
43291
+ url: STUDIO_AUTHORING_ENDPOINTS.UPLOAD_ASSET.path(encodeURIComponent(courseKey)),
43292
+ service: STUDIO_AUTHORING_ENDPOINTS.UPLOAD_ASSET.service,
43293
+ method: 'POST',
43294
+ body: formData,
43295
+ isJson: true,
43296
+ // Asset upload is authenticated by the Studio session cookie + CSRF
43297
+ // token alone; no Authorization header.
43298
+ skipAuth: true,
43299
+ // Matches how Studio's own frontend requests the asset endpoint. Set
43300
+ // explicitly so the base query keeps it instead of defaulting to
43301
+ // `application/json`.
43302
+ headers: { Accept: 'application/json, text/plain, */*' },
43303
+ }),
43304
+ }),
43305
+ /** Set Studio advanced settings (e.g. enable the `scorm` module). */
43306
+ setStudioAdvancedSettings: builder.mutation({
43307
+ query: ({ courseKey, settings }) => ({
43308
+ url: STUDIO_AUTHORING_ENDPOINTS.ADVANCED_SETTINGS.path(encodeURIComponent(courseKey)),
43309
+ service: STUDIO_AUTHORING_ENDPOINTS.ADVANCED_SETTINGS.service,
43310
+ method: 'POST',
43311
+ body: settings,
43312
+ }),
43313
+ }),
43314
+ /** Upload a raw video file to course storage; returns `{ file_url }`. */
43315
+ uploadStudioCourseVideo: builder.mutation({
43316
+ query: ({ courseKey, formData }) => ({
43317
+ url: STUDIO_AUTHORING_ENDPOINTS.VIDEO_UPLOAD.path(encodeURIComponent(courseKey)),
43318
+ service: STUDIO_AUTHORING_ENDPOINTS.VIDEO_UPLOAD.service,
43319
+ method: 'POST',
43320
+ body: formData,
43321
+ isJson: false,
43322
+ }),
43323
+ }),
43324
+ }),
43325
+ });
43326
+ const { useCreateStudioCourseMutation, useDeleteStudioCourseMutation, useUpdateStudioCourseSettingsMutation, useCreateStudioXblockMutation, useUpdateStudioXblockMutation, useUploadStudioScormPackageMutation, useUploadStudioCourseAssetMutation, useSetStudioAdvancedSettingsMutation, useUploadStudioCourseVideoMutation, } = studioAuthoringApiSlice;
43327
+
42705
43328
  const searchApiSlice = createApi({
42706
43329
  reducerPath: 'searchApiSlice',
42707
43330
  baseQuery: iblFakeBaseQuery,
@@ -43180,6 +43803,163 @@ const notificationsCustomApiSlice = createApi({
43180
43803
  });
43181
43804
  const { useGetTemplatesQuery, useLazyGetTemplatesQuery, useGetTemplateDetailsQuery, useLazyGetTemplateDetailsQuery, useUpdateTemplateMutation, useToggleTemplateMutation, } = notificationsCustomApiSlice;
43182
43805
 
43806
+ const SUPPORT_TICKETS_REDUCER_PATH = 'supportTicketsApiSlice';
43807
+ const SUPPORT_TICKETS_TAGS = {
43808
+ TICKETS: 'SUPPORT_TICKETS',
43809
+ TICKET: 'SUPPORT_TICKET',
43810
+ TICKET_MESSAGES: 'SUPPORT_TICKET_MESSAGES',
43811
+ };
43812
+ const SUPPORT_TICKETS_ENDPOINTS = {
43813
+ TICKETS: {
43814
+ service: SERVICES.DM,
43815
+ path: (org, userId) => `/api/ai-mentor/orgs/${org}/users/${userId}/support-tickets/`,
43816
+ },
43817
+ TICKET: {
43818
+ service: SERVICES.DM,
43819
+ path: (org, userId, id) => `/api/ai-mentor/orgs/${org}/users/${userId}/support-tickets/${id}/`,
43820
+ },
43821
+ TICKET_CLOSE: {
43822
+ service: SERVICES.DM,
43823
+ path: (org, userId, id) => `/api/ai-mentor/orgs/${org}/users/${userId}/support-tickets/${id}/close/`,
43824
+ },
43825
+ TICKET_MESSAGES: {
43826
+ service: SERVICES.DM,
43827
+ path: (org, userId) => `/api/ai-mentor/orgs/${org}/users/${userId}/support-ticket-messages/`,
43828
+ },
43829
+ TICKET_MESSAGE: {
43830
+ service: SERVICES.DM,
43831
+ path: (org, userId, id) => `/api/ai-mentor/orgs/${org}/users/${userId}/support-ticket-messages/${id}/`,
43832
+ },
43833
+ };
43834
+
43835
+ /**
43836
+ * Human Support ticket endpoints
43837
+ * (`/api/ai-mentor/orgs/{org}/users/{user_id}/support-tickets/` and
43838
+ * `/api/ai-mentor/orgs/{org}/users/{user_id}/support-ticket-messages/`).
43839
+ *
43840
+ * Hand-written: these endpoints are newer than the pinned `@iblai/iblai-api`
43841
+ * release, so there is no generated service method to wrap yet.
43842
+ */
43843
+ const supportTicketsApiSlice = createApi({
43844
+ reducerPath: SUPPORT_TICKETS_REDUCER_PATH,
43845
+ tagTypes: [...Object.values(SUPPORT_TICKETS_TAGS)],
43846
+ baseQuery: iblFetchBaseQuery,
43847
+ endpoints: (builder) => ({
43848
+ getSupportTickets: builder.query({
43849
+ query: ({ org, userId, mentorId, page, pageSize, session, status, username }) => ({
43850
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKETS.path(org, userId),
43851
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKETS.service,
43852
+ params: {
43853
+ mentor_id: mentorId,
43854
+ page,
43855
+ page_size: pageSize,
43856
+ session,
43857
+ status,
43858
+ username,
43859
+ },
43860
+ }),
43861
+ providesTags: [SUPPORT_TICKETS_TAGS.TICKETS],
43862
+ }),
43863
+ getSupportTicket: builder.query({
43864
+ query: ({ org, userId, id }) => ({
43865
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKET.path(org, userId, id),
43866
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKET.service,
43867
+ }),
43868
+ providesTags: [SUPPORT_TICKETS_TAGS.TICKET],
43869
+ }),
43870
+ updateSupportTicket: builder.mutation({
43871
+ query: ({ org, userId, id, body }) => ({
43872
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKET.path(org, userId, id),
43873
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKET.service,
43874
+ method: 'PUT',
43875
+ body,
43876
+ }),
43877
+ invalidatesTags: [SUPPORT_TICKETS_TAGS.TICKETS, SUPPORT_TICKETS_TAGS.TICKET],
43878
+ }),
43879
+ patchSupportTicket: builder.mutation({
43880
+ query: ({ org, userId, id, body }) => ({
43881
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKET.path(org, userId, id),
43882
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKET.service,
43883
+ method: 'PATCH',
43884
+ body,
43885
+ }),
43886
+ invalidatesTags: [SUPPORT_TICKETS_TAGS.TICKETS, SUPPORT_TICKETS_TAGS.TICKET],
43887
+ }),
43888
+ deleteSupportTicket: builder.mutation({
43889
+ query: ({ org, userId, id }) => ({
43890
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKET.path(org, userId, id),
43891
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKET.service,
43892
+ method: 'DELETE',
43893
+ }),
43894
+ invalidatesTags: [SUPPORT_TICKETS_TAGS.TICKETS],
43895
+ }),
43896
+ closeSupportTicket: builder.mutation({
43897
+ query: ({ org, userId, id }) => ({
43898
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKET_CLOSE.path(org, userId, id),
43899
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKET_CLOSE.service,
43900
+ method: 'POST',
43901
+ }),
43902
+ invalidatesTags: [SUPPORT_TICKETS_TAGS.TICKETS, SUPPORT_TICKETS_TAGS.TICKET],
43903
+ }),
43904
+ getSupportTicketMessages: builder.query({
43905
+ query: ({ org, userId, ticket, sender, page, pageSize }) => ({
43906
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGES.path(org, userId),
43907
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGES.service,
43908
+ params: {
43909
+ ticket,
43910
+ sender,
43911
+ page,
43912
+ page_size: pageSize,
43913
+ },
43914
+ }),
43915
+ providesTags: [SUPPORT_TICKETS_TAGS.TICKET_MESSAGES],
43916
+ }),
43917
+ getSupportTicketMessage: builder.query({
43918
+ query: ({ org, userId, id }) => ({
43919
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGE.path(org, userId, id),
43920
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGE.service,
43921
+ }),
43922
+ providesTags: [SUPPORT_TICKETS_TAGS.TICKET_MESSAGES],
43923
+ }),
43924
+ createSupportTicketMessage: builder.mutation({
43925
+ query: ({ org, userId, body }) => ({
43926
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGES.path(org, userId),
43927
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGES.service,
43928
+ method: 'POST',
43929
+ body,
43930
+ }),
43931
+ invalidatesTags: [SUPPORT_TICKETS_TAGS.TICKET_MESSAGES],
43932
+ }),
43933
+ updateSupportTicketMessage: builder.mutation({
43934
+ query: ({ org, userId, id, body }) => ({
43935
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGE.path(org, userId, id),
43936
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGE.service,
43937
+ method: 'PUT',
43938
+ body,
43939
+ }),
43940
+ invalidatesTags: [SUPPORT_TICKETS_TAGS.TICKET_MESSAGES],
43941
+ }),
43942
+ patchSupportTicketMessage: builder.mutation({
43943
+ query: ({ org, userId, id, body }) => ({
43944
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGE.path(org, userId, id),
43945
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGE.service,
43946
+ method: 'PATCH',
43947
+ body,
43948
+ }),
43949
+ invalidatesTags: [SUPPORT_TICKETS_TAGS.TICKET_MESSAGES],
43950
+ }),
43951
+ deleteSupportTicketMessage: builder.mutation({
43952
+ query: ({ org, userId, id }) => ({
43953
+ url: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGE.path(org, userId, id),
43954
+ service: SUPPORT_TICKETS_ENDPOINTS.TICKET_MESSAGE.service,
43955
+ method: 'DELETE',
43956
+ }),
43957
+ invalidatesTags: [SUPPORT_TICKETS_TAGS.TICKET_MESSAGES],
43958
+ }),
43959
+ }),
43960
+ });
43961
+ const { useGetSupportTicketsQuery, useLazyGetSupportTicketsQuery, useGetSupportTicketQuery, useLazyGetSupportTicketQuery, useUpdateSupportTicketMutation, usePatchSupportTicketMutation, useDeleteSupportTicketMutation, useCloseSupportTicketMutation, useGetSupportTicketMessagesQuery, useLazyGetSupportTicketMessagesQuery, useGetSupportTicketMessageQuery, useLazyGetSupportTicketMessageQuery, useCreateSupportTicketMessageMutation, useUpdateSupportTicketMessageMutation, usePatchSupportTicketMessageMutation, useDeleteSupportTicketMessageMutation, } = supportTicketsApiSlice;
43962
+
43183
43963
  const MENTOR_CUSTOM_REDUCER_PATH = 'mentorCustomApiSlice';
43184
43964
  const MENTOR_ENDPOINTS = {
43185
43965
  EDIT_MENTOR_SETTINGS: {
@@ -43429,7 +44209,7 @@ const { useGetModerationLogsQuery, useLazyGetModerationLogsQuery, useDeleteModer
43429
44209
  * `useGetMentorPublicSettingsQuery`) — this file just adds the typed
43430
44210
  * surface for the new fields.
43431
44211
  */
43432
- const PRIVACY_ACTIONS = ['redact', 'mask', 'block'];
44212
+ const PRIVACY_ACTIONS = ['allow', 'redact', 'mask', 'block'];
43433
44213
  const PRIVACY_ENTITY_TYPES = [
43434
44214
  'PERSON',
43435
44215
  'EMAIL_ADDRESS',
@@ -45419,6 +46199,391 @@ const auditLogsApiSlice = createApi({
45419
46199
  });
45420
46200
  const { useGetAuditLogsQuery, useLazyGetAuditLogsQuery } = auditLogsApiSlice;
45421
46201
 
46202
+ const EVALUATIONS_REDUCER_PATH = 'evaluationsApiSlice';
46203
+ const evaluationsBase = (org, userId) => `/api/ai-mentor/orgs/${org}/users/${userId}/evaluations`;
46204
+ const EVALUATIONS_ENDPOINTS = {
46205
+ GET_TASK: {
46206
+ service: SERVICES.AXD,
46207
+ path: (org, userId, taskId) => `/api/ai-mentor/orgs/${org}/users/${userId}/tasks/${encodeURIComponent(taskId)}`,
46208
+ },
46209
+ LIST_DATASETS: {
46210
+ service: SERVICES.AXD,
46211
+ path: (org, userId) => `${evaluationsBase(org, userId)}/datasets/`,
46212
+ },
46213
+ CREATE_DATASET: {
46214
+ service: SERVICES.AXD,
46215
+ path: (org, userId) => `${evaluationsBase(org, userId)}/datasets/`,
46216
+ },
46217
+ GET_DATASET: {
46218
+ service: SERVICES.AXD,
46219
+ path: (org, userId, datasetName) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/`,
46220
+ },
46221
+ LIST_DATASET_ITEMS: {
46222
+ service: SERVICES.AXD,
46223
+ path: (org, userId, datasetName) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/items/`,
46224
+ },
46225
+ ADD_DATASET_ITEMS: {
46226
+ service: SERVICES.AXD,
46227
+ path: (org, userId, datasetName) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/items/`,
46228
+ },
46229
+ UPLOAD_DATASET_CSV: {
46230
+ service: SERVICES.AXD,
46231
+ path: (org, userId, datasetName) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/items/upload/`,
46232
+ },
46233
+ UPDATE_DATASET_ITEM: {
46234
+ service: SERVICES.AXD,
46235
+ path: (org, userId, datasetName, itemId) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/items/${encodeURIComponent(itemId)}/`,
46236
+ },
46237
+ DELETE_DATASET_ITEM: {
46238
+ service: SERVICES.AXD,
46239
+ path: (org, userId, datasetName, itemId) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/items/${encodeURIComponent(itemId)}/`,
46240
+ },
46241
+ LIST_RUNS: {
46242
+ service: SERVICES.AXD,
46243
+ path: (org, userId, datasetName) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/runs/`,
46244
+ },
46245
+ START_RUN: {
46246
+ service: SERVICES.AXD,
46247
+ path: (org, userId, datasetName) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/runs/`,
46248
+ },
46249
+ GET_RUN: {
46250
+ service: SERVICES.AXD,
46251
+ path: (org, userId, datasetName, runName) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/runs/${encodeURIComponent(runName)}/`,
46252
+ },
46253
+ EXPORT_RUN: {
46254
+ service: SERVICES.AXD,
46255
+ path: (org, userId, datasetName, runName) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/runs/${encodeURIComponent(runName)}/export/`,
46256
+ },
46257
+ DELETE_RUN: {
46258
+ service: SERVICES.AXD,
46259
+ path: (org, userId, datasetName, runName) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/runs/${encodeURIComponent(runName)}/`,
46260
+ },
46261
+ EVALUATE_RUN: {
46262
+ service: SERVICES.AXD,
46263
+ path: (org, userId, datasetName, runName) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/runs/${encodeURIComponent(runName)}/evaluate/`,
46264
+ },
46265
+ LIST_RUN_JUDGES: {
46266
+ service: SERVICES.AXD,
46267
+ path: (org, userId, datasetName, runName) => `${evaluationsBase(org, userId)}/datasets/${encodeURIComponent(datasetName)}/runs/${encodeURIComponent(runName)}/evaluate/`,
46268
+ },
46269
+ LIST_JUDGES: {
46270
+ service: SERVICES.AXD,
46271
+ path: (org, userId) => `${evaluationsBase(org, userId)}/judges/`,
46272
+ },
46273
+ LIST_SCORES: {
46274
+ service: SERVICES.AXD,
46275
+ path: (org, userId) => `${evaluationsBase(org, userId)}/scores/`,
46276
+ },
46277
+ CREATE_SCORE: {
46278
+ service: SERVICES.AXD,
46279
+ path: (org, userId) => `${evaluationsBase(org, userId)}/scores/`,
46280
+ },
46281
+ DELETE_SCORE: {
46282
+ service: SERVICES.AXD,
46283
+ path: (org, userId, scoreId) => `${evaluationsBase(org, userId)}/scores/${encodeURIComponent(scoreId)}/`,
46284
+ },
46285
+ LIST_SCORE_CONFIGS: {
46286
+ service: SERVICES.AXD,
46287
+ path: (org, userId) => `${evaluationsBase(org, userId)}/score-configs/`,
46288
+ },
46289
+ CREATE_SCORE_CONFIG: {
46290
+ service: SERVICES.AXD,
46291
+ path: (org, userId) => `${evaluationsBase(org, userId)}/score-configs/`,
46292
+ },
46293
+ };
46294
+ const EVALUATIONS_TAGS = {
46295
+ DATASETS: 'EVAL_DATASETS',
46296
+ DATASET: 'EVAL_DATASET',
46297
+ DATASET_ITEMS: 'EVAL_DATASET_ITEMS',
46298
+ RUNS: 'EVAL_RUNS',
46299
+ RUN: 'EVAL_RUN',
46300
+ SCORES: 'EVAL_SCORES',
46301
+ SCORE_CONFIGS: 'EVAL_SCORE_CONFIGS',
46302
+ JUDGES: 'EVAL_JUDGES',
46303
+ };
46304
+
46305
+ const evaluationsApiSlice = createApi({
46306
+ reducerPath: EVALUATIONS_REDUCER_PATH,
46307
+ baseQuery: iblFetchBaseQuery,
46308
+ tagTypes: [
46309
+ EVALUATIONS_TAGS.DATASETS,
46310
+ EVALUATIONS_TAGS.DATASET,
46311
+ EVALUATIONS_TAGS.DATASET_ITEMS,
46312
+ EVALUATIONS_TAGS.RUNS,
46313
+ EVALUATIONS_TAGS.RUN,
46314
+ EVALUATIONS_TAGS.SCORES,
46315
+ EVALUATIONS_TAGS.SCORE_CONFIGS,
46316
+ EVALUATIONS_TAGS.JUDGES,
46317
+ ],
46318
+ endpoints: (builder) => ({
46319
+ listEvalDatasets: builder.query({
46320
+ query: ({ org, userId, page, limit, name, user_email }) => ({
46321
+ url: EVALUATIONS_ENDPOINTS.LIST_DATASETS.path(org, userId),
46322
+ service: EVALUATIONS_ENDPOINTS.LIST_DATASETS.service,
46323
+ params: { page, limit, name, user_email },
46324
+ }),
46325
+ providesTags: [EVALUATIONS_TAGS.DATASETS],
46326
+ }),
46327
+ createEvalDataset: builder.mutation({
46328
+ query: ({ org, userId, body }) => ({
46329
+ url: EVALUATIONS_ENDPOINTS.CREATE_DATASET.path(org, userId),
46330
+ service: EVALUATIONS_ENDPOINTS.CREATE_DATASET.service,
46331
+ method: 'POST',
46332
+ body,
46333
+ }),
46334
+ invalidatesTags: [EVALUATIONS_TAGS.DATASETS],
46335
+ }),
46336
+ getEvalDataset: builder.query({
46337
+ query: ({ org, userId, datasetName }) => ({
46338
+ url: EVALUATIONS_ENDPOINTS.GET_DATASET.path(org, userId, datasetName),
46339
+ service: EVALUATIONS_ENDPOINTS.GET_DATASET.service,
46340
+ }),
46341
+ providesTags: (_result, _error, { datasetName }) => [
46342
+ { type: EVALUATIONS_TAGS.DATASET, id: datasetName },
46343
+ ],
46344
+ }),
46345
+ listEvalDatasetItems: builder.query({
46346
+ query: ({ org, userId, datasetName, page, limit, include_trace }) => ({
46347
+ url: EVALUATIONS_ENDPOINTS.LIST_DATASET_ITEMS.path(org, userId, datasetName),
46348
+ service: EVALUATIONS_ENDPOINTS.LIST_DATASET_ITEMS.service,
46349
+ params: { page, limit, include_trace },
46350
+ }),
46351
+ providesTags: (_result, _error, { datasetName }) => [
46352
+ { type: EVALUATIONS_TAGS.DATASET_ITEMS, id: datasetName },
46353
+ ],
46354
+ }),
46355
+ addEvalDatasetItems: builder.mutation({
46356
+ query: ({ org, userId, datasetName, body }) => ({
46357
+ url: EVALUATIONS_ENDPOINTS.ADD_DATASET_ITEMS.path(org, userId, datasetName),
46358
+ service: EVALUATIONS_ENDPOINTS.ADD_DATASET_ITEMS.service,
46359
+ method: 'POST',
46360
+ body,
46361
+ }),
46362
+ invalidatesTags: (_result, _error, { datasetName }) => [
46363
+ { type: EVALUATIONS_TAGS.DATASET_ITEMS, id: datasetName },
46364
+ ],
46365
+ }),
46366
+ uploadEvalDatasetCsv: builder.mutation({
46367
+ query: ({ org, userId, datasetName, formData }) => ({
46368
+ url: EVALUATIONS_ENDPOINTS.UPLOAD_DATASET_CSV.path(org, userId, datasetName),
46369
+ service: EVALUATIONS_ENDPOINTS.UPLOAD_DATASET_CSV.service,
46370
+ method: 'POST',
46371
+ body: formData,
46372
+ isJson: false,
46373
+ }),
46374
+ invalidatesTags: (_result, _error, { datasetName }) => [
46375
+ { type: EVALUATIONS_TAGS.DATASET_ITEMS, id: datasetName },
46376
+ ],
46377
+ }),
46378
+ updateEvalDatasetItem: builder.mutation({
46379
+ query: ({ org, userId, datasetName, itemId, body }) => ({
46380
+ url: EVALUATIONS_ENDPOINTS.UPDATE_DATASET_ITEM.path(org, userId, datasetName, itemId),
46381
+ service: EVALUATIONS_ENDPOINTS.UPDATE_DATASET_ITEM.service,
46382
+ method: 'PUT',
46383
+ body,
46384
+ }),
46385
+ invalidatesTags: (_result, _error, { datasetName }) => [
46386
+ { type: EVALUATIONS_TAGS.DATASET_ITEMS, id: datasetName },
46387
+ ],
46388
+ }),
46389
+ deleteEvalDatasetItem: builder.mutation({
46390
+ query: ({ org, userId, datasetName, itemId }) => ({
46391
+ url: EVALUATIONS_ENDPOINTS.DELETE_DATASET_ITEM.path(org, userId, datasetName, itemId),
46392
+ service: EVALUATIONS_ENDPOINTS.DELETE_DATASET_ITEM.service,
46393
+ method: 'DELETE',
46394
+ }),
46395
+ invalidatesTags: (_result, _error, { datasetName }) => [
46396
+ { type: EVALUATIONS_TAGS.DATASET_ITEMS, id: datasetName },
46397
+ ],
46398
+ }),
46399
+ listEvalRuns: builder.query({
46400
+ query: ({ org, userId, datasetName, page, limit, user_email }) => ({
46401
+ url: EVALUATIONS_ENDPOINTS.LIST_RUNS.path(org, userId, datasetName),
46402
+ service: EVALUATIONS_ENDPOINTS.LIST_RUNS.service,
46403
+ params: { page, limit, user_email },
46404
+ }),
46405
+ providesTags: (_result, _error, { datasetName }) => [
46406
+ { type: EVALUATIONS_TAGS.RUNS, id: datasetName },
46407
+ ],
46408
+ }),
46409
+ startEvalRun: builder.mutation({
46410
+ query: ({ org, userId, datasetName, body }) => ({
46411
+ url: EVALUATIONS_ENDPOINTS.START_RUN.path(org, userId, datasetName),
46412
+ service: EVALUATIONS_ENDPOINTS.START_RUN.service,
46413
+ method: 'POST',
46414
+ body,
46415
+ }),
46416
+ invalidatesTags: (_result, _error, { datasetName }) => [
46417
+ { type: EVALUATIONS_TAGS.RUNS, id: datasetName },
46418
+ ],
46419
+ }),
46420
+ getEvalRun: builder.query({
46421
+ query: ({ org, userId, datasetName, runName }) => ({
46422
+ url: EVALUATIONS_ENDPOINTS.GET_RUN.path(org, userId, datasetName, runName),
46423
+ service: EVALUATIONS_ENDPOINTS.GET_RUN.service,
46424
+ }),
46425
+ providesTags: (_result, _error, { runName }) => [{ type: EVALUATIONS_TAGS.RUN, id: runName }],
46426
+ }),
46427
+ deleteEvalRun: builder.mutation({
46428
+ query: ({ org, userId, datasetName, runName }) => ({
46429
+ url: EVALUATIONS_ENDPOINTS.DELETE_RUN.path(org, userId, datasetName, runName),
46430
+ service: EVALUATIONS_ENDPOINTS.DELETE_RUN.service,
46431
+ method: 'DELETE',
46432
+ }),
46433
+ invalidatesTags: (_result, _error, { datasetName }) => [
46434
+ { type: EVALUATIONS_TAGS.RUNS, id: datasetName },
46435
+ ],
46436
+ }),
46437
+ exportEvalRun: builder.mutation({
46438
+ query: ({ org, userId, datasetName, runName }) => ({
46439
+ url: EVALUATIONS_ENDPOINTS.EXPORT_RUN.path(org, userId, datasetName, runName),
46440
+ service: EVALUATIONS_ENDPOINTS.EXPORT_RUN.service,
46441
+ responseHandler: (response) => response.text(),
46442
+ isJson: false,
46443
+ }),
46444
+ }),
46445
+ evaluateEvalRun: builder.mutation({
46446
+ query: ({ org, userId, datasetName, runName, body }) => ({
46447
+ url: EVALUATIONS_ENDPOINTS.EVALUATE_RUN.path(org, userId, datasetName, runName),
46448
+ service: EVALUATIONS_ENDPOINTS.EVALUATE_RUN.service,
46449
+ method: 'POST',
46450
+ body,
46451
+ }),
46452
+ invalidatesTags: (_result, _error, { runName }) => [
46453
+ { type: EVALUATIONS_TAGS.RUN, id: runName },
46454
+ EVALUATIONS_TAGS.JUDGES,
46455
+ ],
46456
+ }),
46457
+ listEvalRunJudges: builder.query({
46458
+ query: ({ org, userId, datasetName, runName, page, limit, status, user_email }) => ({
46459
+ url: EVALUATIONS_ENDPOINTS.LIST_RUN_JUDGES.path(org, userId, datasetName, runName),
46460
+ service: EVALUATIONS_ENDPOINTS.LIST_RUN_JUDGES.service,
46461
+ params: { page, limit, status, user_email },
46462
+ }),
46463
+ providesTags: [EVALUATIONS_TAGS.JUDGES],
46464
+ }),
46465
+ listEvalJudges: builder.query({
46466
+ query: ({ org, userId, page, limit, status, user_email, dataset_name }) => ({
46467
+ url: EVALUATIONS_ENDPOINTS.LIST_JUDGES.path(org, userId),
46468
+ service: EVALUATIONS_ENDPOINTS.LIST_JUDGES.service,
46469
+ params: { page, limit, status, user_email, dataset_name },
46470
+ }),
46471
+ providesTags: [EVALUATIONS_TAGS.JUDGES],
46472
+ }),
46473
+ listEvalScores: builder.query({
46474
+ query: ({ org, userId, page, limit, dataset_run_id, trace_id, name }) => ({
46475
+ url: EVALUATIONS_ENDPOINTS.LIST_SCORES.path(org, userId),
46476
+ service: EVALUATIONS_ENDPOINTS.LIST_SCORES.service,
46477
+ params: { page, limit, dataset_run_id, trace_id, name },
46478
+ }),
46479
+ providesTags: [EVALUATIONS_TAGS.SCORES],
46480
+ }),
46481
+ // Score create/delete deliberately do NOT invalidate the RUN tag: the
46482
+ // eval store ingests score writes asynchronously, so an immediate
46483
+ // refetch returns the run *without* the change and would clobber the
46484
+ // cache patches below. The run still refreshes on reopen / manual
46485
+ // Refresh, by which point the store has caught up.
46486
+ createEvalScore: builder.mutation({
46487
+ query: ({ org, userId, body }) => ({
46488
+ url: EVALUATIONS_ENDPOINTS.CREATE_SCORE.path(org, userId),
46489
+ service: EVALUATIONS_ENDPOINTS.CREATE_SCORE.service,
46490
+ method: 'POST',
46491
+ body,
46492
+ }),
46493
+ invalidatesTags: [EVALUATIONS_TAGS.SCORES],
46494
+ async onQueryStarted({ org, userId, body, datasetName, runName }, { dispatch, queryFulfilled }) {
46495
+ try {
46496
+ await queryFulfilled;
46497
+ }
46498
+ catch (_a) {
46499
+ return;
46500
+ }
46501
+ if (!datasetName || !runName)
46502
+ return;
46503
+ dispatch(evaluationsApiSlice.util.updateQueryData('getEvalRun', { org, userId, datasetName, runName }, (draft) => {
46504
+ var _a, _b, _c, _d, _e, _f;
46505
+ const item = (_a = draft.dataset_run_items) === null || _a === void 0 ? void 0 : _a.find((i) => i.trace_id === body.trace_id);
46506
+ if (!item)
46507
+ return;
46508
+ item.scores = (_b = item.scores) !== null && _b !== void 0 ? _b : [];
46509
+ item.scores.push({
46510
+ // The create endpoint returns no id (the write is queued);
46511
+ // this placeholder is replaced by the real record on the
46512
+ // next refetch once the store has ingested it.
46513
+ id: `pending-${body.trace_id}-${body.name}-${Date.now()}`,
46514
+ name: body.name,
46515
+ value: body.value,
46516
+ string_value: null,
46517
+ data_type: (_c = body.data_type) !== null && _c !== void 0 ? _c : 'NUMERIC',
46518
+ comment: (_d = body.comment) !== null && _d !== void 0 ? _d : null,
46519
+ trace_id: body.trace_id,
46520
+ observation_id: (_e = body.observation_id) !== null && _e !== void 0 ? _e : null,
46521
+ dataset_run_id: (_f = body.dataset_run_id) !== null && _f !== void 0 ? _f : null,
46522
+ created_at: new Date().toISOString(),
46523
+ });
46524
+ }));
46525
+ },
46526
+ }),
46527
+ deleteEvalScore: builder.mutation({
46528
+ query: ({ org, userId, scoreId }) => ({
46529
+ url: EVALUATIONS_ENDPOINTS.DELETE_SCORE.path(org, userId, scoreId),
46530
+ service: EVALUATIONS_ENDPOINTS.DELETE_SCORE.service,
46531
+ method: 'DELETE',
46532
+ }),
46533
+ invalidatesTags: [EVALUATIONS_TAGS.SCORES],
46534
+ async onQueryStarted({ org, userId, scoreId, datasetName, runName }, { dispatch, queryFulfilled }) {
46535
+ try {
46536
+ await queryFulfilled;
46537
+ }
46538
+ catch (_a) {
46539
+ return;
46540
+ }
46541
+ if (!datasetName || !runName)
46542
+ return;
46543
+ dispatch(evaluationsApiSlice.util.updateQueryData('getEvalRun', { org, userId, datasetName, runName }, (draft) => {
46544
+ var _a, _b;
46545
+ for (const item of (_a = draft.dataset_run_items) !== null && _a !== void 0 ? _a : []) {
46546
+ if ((_b = item.scores) === null || _b === void 0 ? void 0 : _b.some((s) => s.id === scoreId)) {
46547
+ item.scores = item.scores.filter((s) => s.id !== scoreId);
46548
+ }
46549
+ }
46550
+ }));
46551
+ },
46552
+ }),
46553
+ listEvalScoreConfigs: builder.query({
46554
+ query: ({ org, userId, page, limit }) => ({
46555
+ url: EVALUATIONS_ENDPOINTS.LIST_SCORE_CONFIGS.path(org, userId),
46556
+ service: EVALUATIONS_ENDPOINTS.LIST_SCORE_CONFIGS.service,
46557
+ params: { page, limit },
46558
+ }),
46559
+ providesTags: [EVALUATIONS_TAGS.SCORE_CONFIGS],
46560
+ }),
46561
+ getEvalTaskStatus: builder.query({
46562
+ query: ({ org, userId, taskId }) => ({
46563
+ url: EVALUATIONS_ENDPOINTS.GET_TASK.path(org, userId, taskId),
46564
+ service: EVALUATIONS_ENDPOINTS.GET_TASK.service,
46565
+ }),
46566
+ }),
46567
+ createEvalScoreConfig: builder.mutation({
46568
+ query: ({ org, userId, body }) => ({
46569
+ url: EVALUATIONS_ENDPOINTS.CREATE_SCORE_CONFIG.path(org, userId),
46570
+ service: EVALUATIONS_ENDPOINTS.CREATE_SCORE_CONFIG.service,
46571
+ method: 'POST',
46572
+ body,
46573
+ }),
46574
+ invalidatesTags: [EVALUATIONS_TAGS.SCORE_CONFIGS],
46575
+ }),
46576
+ }),
46577
+ });
46578
+ const { useListEvalDatasetsQuery, useLazyListEvalDatasetsQuery, useCreateEvalDatasetMutation, useGetEvalDatasetQuery, useListEvalDatasetItemsQuery, useLazyListEvalDatasetItemsQuery, useAddEvalDatasetItemsMutation, useUploadEvalDatasetCsvMutation, useUpdateEvalDatasetItemMutation, useDeleteEvalDatasetItemMutation, useListEvalRunsQuery, useLazyListEvalRunsQuery, useStartEvalRunMutation, useGetEvalRunQuery, useLazyGetEvalRunQuery, useDeleteEvalRunMutation, useExportEvalRunMutation, useEvaluateEvalRunMutation, useListEvalRunJudgesQuery, useLazyListEvalRunJudgesQuery, useListEvalJudgesQuery, useLazyListEvalJudgesQuery, useListEvalScoresQuery, useLazyListEvalScoresQuery, useCreateEvalScoreMutation, useDeleteEvalScoreMutation, useListEvalScoreConfigsQuery, useCreateEvalScoreConfigMutation, useGetEvalTaskStatusQuery, useLazyGetEvalTaskStatusQuery, } = evaluationsApiSlice;
46579
+
46580
+ /** Total page count derived from `count` and the requested page size. */
46581
+ function evalTotalPages(count, limit) {
46582
+ if (!count || count <= 0)
46583
+ return 0;
46584
+ return Math.ceil(count / limit);
46585
+ }
46586
+
45422
46587
  const WATCHED_GROUPS_REDUCER_PATH = 'watchedGroupsApiSlice';
45423
46588
  const WATCHED_GROUPS_QUERY_KEYS = {
45424
46589
  WATCHED_GROUPS: 'WATCHED_GROUPS',
@@ -45730,10 +46895,13 @@ const mentorReducer = {
45730
46895
  [coursesApiSlice.reducerPath]: coursesApiSlice.reducer,
45731
46896
  [courseMetadataApiSlice.reducerPath]: courseMetadataApiSlice.reducer,
45732
46897
  [edxSsoApiSlice.reducerPath]: edxSsoApiSlice.reducer,
46898
+ [studioAuthoringApiSlice.reducerPath]: studioAuthoringApiSlice.reducer,
45733
46899
  [clawApiSlice.reducerPath]: clawApiSlice.reducer,
46900
+ [evaluationsApiSlice.reducerPath]: evaluationsApiSlice.reducer,
45734
46901
  [watchedGroupsApiSlice.reducerPath]: watchedGroupsApiSlice.reducer,
45735
46902
  [chatPrivacyApiSlice.reducerPath]: chatPrivacyApiSlice.reducer,
45736
46903
  [skillsApiSlice.reducerPath]: skillsApiSlice.reducer,
46904
+ [supportTicketsApiSlice.reducerPath]: supportTicketsApiSlice.reducer,
45737
46905
  };
45738
46906
  const mentorMiddleware = [
45739
46907
  mentorApiSlice.middleware,
@@ -45786,10 +46954,13 @@ const mentorMiddleware = [
45786
46954
  coursesApiSlice.middleware,
45787
46955
  courseMetadataApiSlice.middleware,
45788
46956
  edxSsoApiSlice.middleware,
46957
+ studioAuthoringApiSlice.middleware,
45789
46958
  clawApiSlice.middleware,
46959
+ evaluationsApiSlice.middleware,
45790
46960
  watchedGroupsApiSlice.middleware,
45791
46961
  chatPrivacyApiSlice.middleware,
45792
46962
  skillsApiSlice.middleware,
46963
+ supportTicketsApiSlice.middleware,
45793
46964
  ];
45794
46965
 
45795
46966
  const skillsReducer = {
@@ -45830,6 +47001,7 @@ const skillsReducer = {
45830
47001
  [coursesApiSlice.reducerPath]: coursesApiSlice.reducer,
45831
47002
  [courseMetadataApiSlice.reducerPath]: courseMetadataApiSlice.reducer,
45832
47003
  [edxSsoApiSlice.reducerPath]: edxSsoApiSlice.reducer,
47004
+ [studioAuthoringApiSlice.reducerPath]: studioAuthoringApiSlice.reducer,
45833
47005
  [watchedGroupsApiSlice.reducerPath]: watchedGroupsApiSlice.reducer,
45834
47006
  [chatPrivacyApiSlice.reducerPath]: chatPrivacyApiSlice.reducer,
45835
47007
  };
@@ -45871,17 +47043,21 @@ const skillsMiddleware = [
45871
47043
  coursesApiSlice.middleware,
45872
47044
  courseMetadataApiSlice.middleware,
45873
47045
  edxSsoApiSlice.middleware,
47046
+ studioAuthoringApiSlice.middleware,
45874
47047
  watchedGroupsApiSlice.middleware,
45875
47048
  chatPrivacyApiSlice.middleware,
45876
47049
  ];
45877
47050
 
45878
- const initializeDataLayer = (dmUrl, lmsUrl, legacyLmsUrl, storageService, httpErrorHandler = {}) => {
47051
+ const initializeDataLayer = (dmUrl, lmsUrl, legacyLmsUrl, storageService, httpErrorHandler = {}, studioUrl) => {
45879
47052
  IblDataLayer.storage = storageService;
45880
47053
  Config.dmUrl = dmUrl;
45881
47054
  Config.lmsUrl = lmsUrl;
45882
47055
  Config.legacyLmsUrl = legacyLmsUrl;
45883
47056
  Config.httpErrorHandlers = httpErrorHandler;
47057
+ if (studioUrl) {
47058
+ Config.studioUrl = studioUrl;
47059
+ }
45884
47060
  };
45885
47061
 
45886
- export { APP_IDENTIFIERS, AUDIT_LOGS_ENDPOINTS, AUDIT_LOGS_QUERY_KEYS, AUDIT_LOGS_REDUCER_PATH, CALL_CONFIGURATIONS_ENDPOINTS, CALL_CONFIGURATIONS_REDUCER_PATH, CALL_CONFIGURATIONS_TAGS, CHAT_HISTORY_PAGE_PARAM, CHAT_HISTORY_PAGE_SIZE, CHAT_HISTORY_PAGE_SIZE_PARAM, CHAT_PRIVACY_MODES, CLAW_ENDPOINTS, CLAW_REDUCER_PATH, CLAW_TAG_TYPES, CORE_CUSTOM_ENDPOINTS, CORE_CUSTOM_REDUCER_PATH, CORE_FAKE_CUSTOM_REDUCER_PATH, CREDENTIALS_CUSTOM_ENDPOINTS, CREDENTIALS_CUSTOM_REDUCER_PATH, CUSTOM_AI_SEARCH_ENDPOINTS, CUSTOM_AI_SEARCH_QUERY_KEYS, CUSTOM_AI_SEARCH_REDUCER_PATH, CUSTOM_DOMAIN_ENDPOINTS, CUSTOM_DOMAIN_QUERY_KEYS, CUSTOM_DOMAIN_REDUCER_PATH, ChatPrivacyModeEnum, DEFAULT_PRIVACY_ACTION, DEFAULT_PRIVACY_RESPONSE, DISCLAIMERS_ENDPOINTS, DISCLAIMERS_QUERY_KEYS, DISCLAIMERS_REDUCER_PATH, EDX_PROCTORING_ENDPOINTS, IblDataLayer, LOGO_ENDPOINTS, MCP_ENDPOINTS, MCP_REDUCER_PATH, MCP_TAG_TYPES, MEMORY_QUERY_KEYS, MEMORY_REDUCER_PATH, MEMSEARCH_ENDPOINTS, MENTORS_QUERY_KEYS, MENTORS_REDUCER_PATH, MENTOR_CUSTOM_ENDPOINTS, MENTOR_CUSTOM_REDUCER_PATH, MENTOR_ENDPOINTS, NOTIFICATIONS_CUSTOM_ENDPOINTS, NOTIFICATIONS_CUSTOM_REDUCER_PATH, NOTIFICATIONS_CUSTOM_TAGS, PLATFORM_CONFIGURATION_TAG, PLATFORM_CUSTOM_ENDPOINTS, PLATFORM_CUSTOM_REDUCER_PATH, PLATFORM_MEMBERSHIP_TAG, PRIVACY_ACTIONS, PRIVACY_BLOCKED_ERROR_KIND, PRIVACY_ENTITY_TYPES, PRIVACY_TARGET_SYSTEM, PROJECTS_CUSTOM_ENDPOINTS, PROJECTS_CUSTOM_REDUCER_PATH, PROJECTS_QUERY_KEYS, QUERY_PARAMS, RETIREMENT_ENDPOINTS, SERVICES, STORAGE_KEYS, SUGGESTED_PRIVACY_ENTITIES, TENANT_IDENTIFIERS, TENANT_LOGO_ENDPOINTS, TENANT_LOGO_QUERY_KEYS, TENANT_LOGO_REDUCER_PATH, URL_PATTERNS, WATCHED_GROUPS_ENDPOINTS, WATCHED_GROUPS_QUERY_KEYS, WATCHED_GROUPS_REDUCER_PATH, WATCHER_NOTIFICATION_EVENTS, WATCHER_NOTIFICATION_EVENT_LABELS, WORKFLOWS_ENDPOINTS, WORKFLOWS_QUERY_KEYS, WORKFLOWS_REDUCER_PATH, analyticsApiSlice, apiKeysApiReducer, apiKeysApiSlice, appApiReducer, appApiSlice, artifactsApiReducer, artifactsApiSlice, auditLogsApiSlice, authApiSlice, billingApiSlice, billingCustomSlice, buildSessionRetrieveUrl, buildSharedSessionRetrieveUrl, callConfigurationsApiReducer, callConfigurationsApiSlice, careerApiSlice, catalogApiSlice, chatApiSlice, chatCustomApiSlice, chatFilesApiSlice, chatHistoryApiSlice, chatPrivacyApiSlice, clawApiSlice, coreApiSlice, coreCustomApiSlice, coreFakeCustomPublicImageAssetApiSlice, courseMetadataApiSlice, coursesApiSlice, credentialsApiSlice, credentialsCustomApiSlice, customAiSearchApiSlice, customDomainApiSlice, datasetsApiSlice, disclaimersApiSlice, edxProctoringApiSlice, edxSsoApiSlice, fakeBaseQueryWithLogging, featureTags, iblFakeBaseQuery, initializeDataLayer, isPoliciesResponse, isPrivacyBlockedError, llmsApiSlice, mcpApiSlice, memoryApiSlice, mentorApiReducer, mentorApiSlice, mentorCategoriesApiSlice, mentorCustomApiSlice, mentorMiddleware, mentorReducer, moderationLogsApiReducer, moderationLogsApiSlice, monetizationApiSlice, notificationsApiSlice, notificationsCustomApiSlice, perLearnerApiSlice, periodicAgentsApiSlice, platformApiReducer, platformApiSlice, platformCustomApiSlice, projectsApiSlice, promptsApiSlice, recommendationPromptTypeEnum, reportsApiSlice, retirementApiSlice, searchApiSlice, sessionApiSlice, skillsApiSlice, skillsMiddleware, skillsReducer, stripeApiSlice, tenantApiReducer, tenantApiSlice, tenantLogoApiSlice, toolsApiSlice, trainingDocumentsApiSlice, useActivateWorkflowMutation, useAddPinnedMessageMutation, useAddTrainingDocumentMutation, useAddWatchedUserMutation, useAddWatcherMutation, useAgreeToDisclaimerMutation, useAudioToTextMutation, useCancelSubscriptionMutation, useChatWithWorkflowMutation, useCheckAccessQuery, useCheckAccessUnscopedQuery, useConnectedServicesCallbackQuery, useCreateAdminProjectMutation, useCreateAgentSkillMutation, useCreateAgentSkillResourceMutation, useCreateApiKeyMutation, useCreateCallConfigurationMutation, useCreateCallCredentialsMutation, useCreateCatalogInvitationBulkMutation, useCreateCatalogInvitationCourseBulkMutation, useCreateCatalogInvitationCourseMutation, useCreateCatalogInvitationProgramBulkMutation, useCreateCatalogInvitationProgramMutation, useCreateCatalogPathwayEnrollmentMutation, useCreateCatalogPathwayMutation, useCreateCatalogPathwaySelfEnrollmentMutation, useCreateCatalogProgramMutation, useCreateCatalogProgramSelfEnrollmentMutation, useCreateCatalogRoleMutation, useCreateCheckoutMutation, useCreateClawInstanceMutation, useCreateClawMentorConfigMutation, useCreateCourseEnrollmentMutation, useCreateCredentialAssertionMutation, useCreateCredentialMutation, useCreateCustomDomainMutation, useCreateDisclaimerMutation, useCreateExternalMappingMutation, useCreateGlobalMemoryMutation, useCreateGuestCheckoutMutation, useCreateIntegrationCredentialMutation, useCreateLLMCredentialMutation, useCreateLtiKeyMutation, useCreateLtiMentorMutation, useCreateLtiToolMutation, useCreateMCPServerConnectionMutation, useCreateMCPServerMutation, useCreateMemoryCategoryMutation, useCreateMentorMemoryMutation, useCreateMentorMutation, useCreateMentorSkillAssignmentMutation, useCreateNotificationPreviewMutation, useCreateOrUpdateUserDesiredSkillMutation, useCreateOrUpdateUserReportedSkillMutation, useCreatePeriodicAgentMutation, useCreatePlatformImageAssetMutation, useCreatePlatformUserGroupMutation, useCreatePriceMutation, useCreatePromptMutation, useCreateProviderConfigMutation, useCreateRbacGroupMutation, useCreateRbacPolicyMutation, useCreateRbacRoleMutation, useCreateRbacTeamsAccessMutation, useCreateRecommendedPromptMutation, useCreateRedirectTokenMutation, useCreateReportMutation, useCreateSessionIdMutation, useCreateShareableLinkMutation, useCreateStripeCheckoutSessionMutation, useCreateStripeCustomerPortalMutation, useCreateTrainingDocumentRetrainScheduleMutation, useCreateUserCompanyMutation, useCreateUserEducationMutation, useCreateUserExperienceMutation, useCreateUserInstitutionMutation, useCreateUserInvitationMutation, useCreateUserProjectMutation, useCreateUserResumeMutation, useCreateWatchedGroupMutation, useCreateWorkflowMutation, useDeactivateWorkflowMutation, useDeleteAdminProjectMutation, useDeleteAgentSkillMutation, useDeleteAgentSkillResourceMutation, useDeleteApiKeyMutation, useDeleteClawInstanceMutation, useDeleteClawMentorConfigMutation, useDeleteCourseCredentialMutation, useDeleteCredentialMutation, useDeleteCustomDomainMutation, useDeleteDisclaimerMutation, useDeleteExternalMappingMutation, useDeleteGlobalMemoryMutation, useDeleteIntegrationCredentialMutation, useDeleteLtiKeyMutation, useDeleteLtiMentorMutation, useDeleteLtiToolMutation, useDeleteMCPServerMutation, useDeleteMemoryCategoryMutation, useDeleteMentorMemoryMutation, useDeleteMentorMutation, useDeleteMentorSkillAssignmentMutation, useDeleteMessageMutation, useDeleteModerationLogMutation, useDeletePeriodicAgentMutation, useDeletePlatformConfigurationMutation, useDeletePlatformImageAssetMutation, useDeletePlatformUserGroupMutation, useDeletePriceMutation, useDeletePromptMutation, useDeleteProviderConfigMutation, useDeleteRbacGroupMutation, useDeleteRbacPolicyMutation, useDeleteRbacRoleMutation, useDeleteRecommendedPromptMutation, useDeleteTrainingDocumentMutation, useDeleteUserEducationMutation, useDeleteUserExperienceMutation, useDeleteUserProjectMutation, useDeleteWatchedGroupMutation, useDeleteWatcherMutation, useDeleteWorkflowMutation, useDisablePaywallMutation, useDisconnectServiceMutation, useEditMentorAndRefreshListMutation, useEditMentorJsonMutation, useEditMentorMutation, useEditSessionMutation, useEditTrainingDocumentMutation, useEnablePaywallMutation, useExchangeAppleTokenMutation, useExportChatHistoryMutation, useForkMentorMutation, useGetAccessTimeHeatmapQuery, useGetAccountBillingInfoQuery, useGetAdminProjectDetailsQuery, useGetAdminProjectsQuery, useGetAgentConfigQuery, useGetAgentSkillQuery, useGetAgentSkillResourceQuery, useGetAgentSkillResourcesQuery, useGetAgentSkillsQuery, useGetAiSearchMentorsQuery, useGetApiKeysQuery, useGetAppTokensMutation, useGetArtifactQuery, useGetArtifactVersionQuery, useGetAssignedProgramsQuery, useGetAuditLogsQuery, useGetAverageMessagesPerSessionQuery, useGetAverageRatingQuery, useGetCallConfigurationQuery, useGetCallConfigurationsQuery, useGetCatalogInvitationsCourseQuery, useGetCatalogInvitationsProgramQuery, useGetCatalogSearchQuery, useGetChatHistoryExportStatusQuery, useGetChatHistoryFilterQuery, useGetChatHistoryQuery, useGetChatMessageTtsQuery, useGetChatMessagesForSessionQuery, useGetChatPrivacyEffectiveQuery, useGetClawInstanceQuery, useGetClawInstancesQuery, useGetClawMentorConfigQuery, useGetConnectedServiceAuthUrlQuery, useGetConnectedServicesQuery, useGetContentAnalyticsDetailsQuery, useGetContentAnalyticsQuery, useGetConversationMemoriesQuery, useGetConversationQuery, useGetCourseCompletionOutlinesQuery, useGetCourseCompletionQuery, useGetCourseEligibilityQuery, useGetCourseMetaDataQuery, useGetCourseProgressQuery, useGetCredentialsListQuery, useGetCredentialsQuery, useGetCredentialsSchemaQuery, useGetCustomDomainsQuery, useGetCustomMentorsQuery, useGetDatasetsQuery, useGetDepartmentMemberCheckQuery, useGetDesiredSkillsQuery, useGetDetailedFinancialStatsQuery, useGetDisclaimersQuery, useGetEdxSSOTokenQuery, useGetEnrollmentCourseSearchQuery, useGetExamInfoQuery, useGetExternalMappingQuery, useGetFileUploadUrlMutation, useGetFinancialStatsQuery, useGetFreeUsageCountQuery, useGetGlobalMemoriesQuery, useGetGuidedPromptsQuery, useGetIntegrationCredentialsQuery, useGetIntegrationCredentialsSchemaQuery, useGetIssuersQuery, useGetItemSubscriptionQuery, useGetLLMCredentialsQuery, useGetLearnerDetailsQuery, useGetLlmsQuery, useGetLtiKeyDetailQuery, useGetLtiKeysQuery, useGetLtiMentorDetailQuery, useGetLtiMentorsQuery, useGetLtiToolDetailQuery, useGetLtiToolsQuery, useGetMCPServerConnectionsQuery, useGetMCPServerQuery, useGetMCPServersQuery, useGetMaskedIntegrationCredentialsQuery, useGetMaskedLLMCredentialsQuery, useGetMemoryCategoriesAdminQuery, useGetMemsearchConfigQuery, useGetMemsearchStatusQuery, useGetMentorCategoriesQuery, useGetMentorCategoryGroupsQuery, useGetMentorDetailsQuery, useGetMentorMemoriesListQuery, useGetMentorMemoriesQuery, useGetMentorPublicSettingsQuery, useGetMentorSettingsQuery, useGetMentorSkillAssignmentQuery, useGetMentorSkillAssignmentsQuery, useGetMentorSummariesQuery, useGetMentorsQuery, useGetMfeContextQuery, useGetModerationLogsQuery, useGetMostDiscussedTopicsQuery, useGetMySubscriptionsQuery, useGetNodeTypesQuery, useGetNotificationContextQuery, useGetNotificationsCountQuery, useGetNotificationsQuery, useGetOAuthServicesQuery, useGetOverTimeActivityQuery, useGetOverviewSummaryQuery, useGetPathwayCompletionQuery, useGetPathwayListQuery, useGetPaywallConfigQuery, useGetPerLearnerActivityQuery, useGetPerLearnerInfoQuery, useGetPeriodicAgentLogsListQuery, useGetPeriodicAgentLogsQuery, useGetPeriodicAgentQuery, useGetPeriodicAgentsQuery, useGetPersonnalizedMentorsQuery, useGetPersonnalizedSearchQuery, useGetPinnedMessagesQuery, useGetPlatformConfigurationsQuery, useGetPlatformImageAssetDetailsQuery, useGetPlatformImageAssetsListQuery, useGetPlatformInfoQuery, useGetPlatformMembershipQuery, useGetPlatformUserGroupDetailsQuery, useGetProgramCompletionQuery, useGetProgramListQuery, useGetPromptCategoriesQuery, useGetPromptsQuery, useGetPromptsSearchQuery, useGetProviderConfigQuery, useGetPublicMentorsQuery, useGetPublicPlatformImageAssetFileUrlQuery, useGetPublicPlatformMembershipQuery, useGetPublicPricingQuery, useGetRbacActionsDefinitionQuery, useGetRbacGroupDetailsQuery, useGetRbacGroupsQuery, useGetRbacMentorAccessListQuery, useGetRbacPermissionsMutation, useGetRbacPoliciesQuery, useGetRbacPolicyDetailsQuery, useGetRbacRoleDetailsQuery, useGetRbacRolesQuery, useGetRbacTeamsAccessListQuery, useGetRecentMessageQuery, useGetRecentlyAccessedMentorsQuery, useGetRecommendationsAiSearchQuery, useGetRecommendedPromptsListQuery, useGetRegisteredUsersTrendQuery, useGetReportDetailQuery, useGetReportedSkillsQuery, useGetReportsQuery, useGetResourceSearchQuery, useGetRevenueQuery, useGetSessionIdQuery, useGetSessionStatsQuery, useGetShareableLinkPublicQuery, useGetShareableLinkQuery, useGetSharedSessionIdQuery, useGetSkillsPointsPercentileQuery, useGetStripeConnectDashboardQuery, useGetStripeConnectStatusQuery, useGetStripeContextQuery, useGetStripePricingPageSessionQuery, useGetStudentMentorCreationStatusQuery, useGetTemplateDetailsQuery, useGetTemplatesQuery, useGetTenantChatPrivacyConfigQuery, useGetTenantMetadataQuery, useGetToolsQuery, useGetTopStudentsByChatMessagesQuery, useGetTopicOverviewQuery, useGetTopicStatisticsQuery, useGetTopicsDetailsStatsQuery, useGetTopicsStatsQuery, useGetTopicsSummaryQuery, useGetTrainingDocumentRetrainScheduleQuery, useGetTrainingDocumentsQuery, useGetTranscriptsConversationHeadlineQuery, useGetTranscriptsMessagesDetailsQuery, useGetTranscriptsMessagesQuery, useGetUserAppsQuery, useGetUserAssignedCoursesQuery, useGetUserAssignedPathwaysQuery, useGetUserCatalogPathwaysQuery, useGetUserChatPrivacySettingsQuery, useGetUserCohortsOverTimeQuery, useGetUserCompaniesQuery, useGetUserCredentialsQuery, useGetUserDesiredSkillsQuery, useGetUserDetailsStatsQuery, useGetUserEarnedSkillsQuery, useGetUserEducationQuery, useGetUserEnrolledCoursesQuery, useGetUserEnrolledPathwaysQuery, useGetUserEnrolledProgramsQuery, useGetUserExperienceQuery, useGetUserInstitutionsQuery, useGetUserInvitationsQuery, useGetUserMemorySettingsQuery, useGetUserMetadataEdxQuery, useGetUserMetadataQuery, useGetUserMetricsPieChartQuery, useGetUserMetricsQuery, useGetUserPlatformMetadataQuery, useGetUserProjectDetailsQuery, useGetUserProjectsQuery, useGetUserReportedSkillsQuery, useGetUserResumeQuery, useGetUserSkillsPointsQuery, useGetUserTenantsQuery, useGetUsersAsAssertionsQuery, useGetUsersStatsQuery, useGetVectorDocumentsQuery, useGetVoiceQuery, useGetVoicesQuery, useGetWatchedGroupQuery, useGetWatchedGroupsQuery, useGetWatchedUsersQuery, useGetWatcherQuery, useGetWatchersQuery, useGetWorkflowQuery, useGetWorkflowsQuery, useHealthCheckClawInstanceMutation, useInviteUserMutation, useJoinTenantMutation, useLazyCheckAccessQuery, useLazyCheckAccessUnscopedQuery, useLazyConnectedServicesCallbackQuery, useLazyGetAccountBillingInfoQuery, useLazyGetAdminProjectDetailsQuery, useLazyGetAdminProjectsQuery, useLazyGetAgentConfigQuery, useLazyGetAgentSkillResourcesQuery, useLazyGetAgentSkillsQuery, useLazyGetApiKeysQuery, useLazyGetArtifactQuery, useLazyGetArtifactVersionQuery, useLazyGetAssignedProgramsQuery, useLazyGetAuditLogsQuery, useLazyGetCallConfigurationQuery, useLazyGetCallConfigurationsQuery, useLazyGetCatalogInvitationsCourseQuery, useLazyGetCatalogInvitationsProgramQuery, useLazyGetCatalogSearchQuery, useLazyGetChatHistoryExportStatusQuery, useLazyGetChatHistoryFilterQuery, useLazyGetChatHistoryQuery, useLazyGetChatMessageTtsQuery, useLazyGetChatMessagesForSessionQuery, useLazyGetChatPrivacyEffectiveQuery, useLazyGetClawInstanceQuery, useLazyGetClawInstancesQuery, useLazyGetClawMentorConfigQuery, useLazyGetConnectedServiceAuthUrlQuery, useLazyGetConnectedServicesQuery, useLazyGetConversationMemoriesQuery, useLazyGetCourseCompletionOutlinesQuery, useLazyGetCourseCompletionQuery, useLazyGetCourseEligibilityQuery, useLazyGetCourseMetaDataQuery, useLazyGetCourseProgressQuery, useLazyGetCredentialsListQuery, useLazyGetCredentialsQuery, useLazyGetCredentialsSchemaQuery, useLazyGetCustomDomainsQuery, useLazyGetCustomMentorsQuery, useLazyGetDatasetsQuery, useLazyGetDepartmentMemberCheckQuery, useLazyGetDesiredSkillsQuery, useLazyGetDisclaimersQuery, useLazyGetDownloadReportFromURLQuery, useLazyGetEdxSSOTokenQuery, useLazyGetEnrollmentCourseSearchQuery, useLazyGetExamInfoQuery, useLazyGetExternalMappingQuery, useLazyGetFreeUsageCountQuery, useLazyGetGlobalMemoriesQuery, useLazyGetGuidedPromptsQuery, useLazyGetIntegrationCredentialsQuery, useLazyGetIntegrationCredentialsSchemaQuery, useLazyGetIssuersQuery, useLazyGetItemSubscriptionQuery, useLazyGetLLMCredentialsQuery, useLazyGetLlmsQuery, useLazyGetLtiKeyDetailQuery, useLazyGetMCPServerQuery, useLazyGetMCPServersQuery, useLazyGetMemoryCategoriesAdminQuery, useLazyGetMemsearchConfigQuery, useLazyGetMemsearchStatusQuery, useLazyGetMentorCategoriesQuery, useLazyGetMentorCategoryGroupsQuery, useLazyGetMentorDetailsQuery, useLazyGetMentorMemoriesListQuery, useLazyGetMentorMemoriesQuery, useLazyGetMentorPublicSettingsQuery, useLazyGetMentorSettingsQuery, useLazyGetMentorSkillAssignmentsQuery, useLazyGetMentorSummariesQuery, useLazyGetMentorsQuery, useLazyGetModerationLogsQuery, useLazyGetMySubscriptionsQuery, useLazyGetNodeTypesQuery, useLazyGetNotificationContextQuery, useLazyGetNotificationsCountQuery, useLazyGetNotificationsQuery, useLazyGetOAuthServicesQuery, useLazyGetOverTimeActivityQuery, useLazyGetPathwayCompletionQuery, useLazyGetPathwayListQuery, useLazyGetPaywallConfigQuery, useLazyGetPerLearnerActivityQuery, useLazyGetPerLearnerInfoQuery, useLazyGetPeriodicAgentLogsListQuery, useLazyGetPeriodicAgentLogsQuery, useLazyGetPeriodicAgentQuery, useLazyGetPeriodicAgentsQuery, useLazyGetPersonnalizedMentorsQuery, useLazyGetPersonnalizedSearchQuery, useLazyGetPinnedMessagesQuery, useLazyGetPlatformInfoQuery, useLazyGetPlatformMembershipQuery, useLazyGetProgramCompletionQuery, useLazyGetProgramListQuery, useLazyGetPromptCategoriesQuery, useLazyGetPromptsQuery, useLazyGetPromptsSearchQuery, useLazyGetProviderConfigQuery, useLazyGetPublicMentorsQuery, useLazyGetPublicPlatformImageAssetFileUrlQuery, useLazyGetPublicPlatformMembershipQuery, useLazyGetPublicPricingQuery, useLazyGetRbacActionsDefinitionQuery, useLazyGetRbacRolesQuery, useLazyGetRbacTeamsAccessListQuery, useLazyGetRecentMessageQuery, useLazyGetRecentlyAccessedMentorsQuery, useLazyGetRecommendationsAiSearchQuery, useLazyGetRecommendedPromptsListQuery, useLazyGetReportDetailQuery, useLazyGetReportedSkillsQuery, useLazyGetReportsQuery, useLazyGetResourceSearchQuery, useLazyGetRevenueQuery, useLazyGetSessionIdQuery, useLazyGetShareableLinkPublicQuery, useLazyGetShareableLinkQuery, useLazyGetSharedSessionIdQuery, useLazyGetSkillsPointsPercentileQuery, useLazyGetStripeConnectDashboardQuery, useLazyGetStripeConnectStatusQuery, useLazyGetStripeContextQuery, useLazyGetStripePricingPageSessionQuery, useLazyGetTemplateDetailsQuery, useLazyGetTemplatesQuery, useLazyGetTenantChatPrivacyConfigQuery, useLazyGetTenantMetadataQuery, useLazyGetToolsQuery, useLazyGetTrainingDocumentRetrainScheduleQuery, useLazyGetTrainingDocumentsQuery, useLazyGetUserAppsQuery, useLazyGetUserAssignedCoursesQuery, useLazyGetUserAssignedPathwaysQuery, useLazyGetUserCatalogPathwaysQuery, useLazyGetUserChatPrivacySettingsQuery, useLazyGetUserCompaniesQuery, useLazyGetUserCredentialsQuery, useLazyGetUserDesiredSkillsQuery, useLazyGetUserEarnedSkillsQuery, useLazyGetUserEducationQuery, useLazyGetUserEnrolledCoursesQuery, useLazyGetUserEnrolledPathwaysQuery, useLazyGetUserEnrolledProgramsQuery, useLazyGetUserExperienceQuery, useLazyGetUserInstitutionsQuery, useLazyGetUserInvitationsQuery, useLazyGetUserMemorySettingsQuery, useLazyGetUserMetadataEdxQuery, useLazyGetUserMetadataQuery, useLazyGetUserPlatformMetadataQuery, useLazyGetUserProjectDetailsQuery, useLazyGetUserProjectsQuery, useLazyGetUserReportedSkillsQuery, useLazyGetUserResumeQuery, useLazyGetUserSkillsPointsQuery, useLazyGetUserTenantsQuery, useLazyGetUsersAsAssertionsQuery, useLazyGetVectorDocumentsQuery, useLazyGetVoiceQuery, useLazyGetVoicesQuery, useLazyGetWatchedGroupQuery, useLazyGetWatchedGroupsQuery, useLazyGetWatchedUsersQuery, useLazyGetWatchersQuery, useLazyGetWorkflowQuery, useLazyGetWorkflowsQuery, useLazyListArtifactVersionsQuery, useLazyListArtifactsQuery, useLazyListItemSubscribersQuery, useLazyListPaywallsQuery, useLazyListPricesQuery, useLazyListSubscribersQuery, useLazyPlatformUserGroupsQuery, useLazyPlatformUsersQuery, useLazyRefreshJwtTokenQuery, useLazySeedMentorsQuery, useLazyStarredMentorsQuery, useLazyStartOAuthFlowQuery, useListArtifactVersionsQuery, useListArtifactsQuery, useListItemSubscribersQuery, useListPaywallsQuery, useListPricesQuery, useListSubscribersQuery, useMarkAllAsReadMutation, useOauthFindMutation, usePartialUpdateMCPServerMutation, usePartialUpdatePeriodicAgentMutation, usePartialUpdateRbacRoleMutation, usePatchMCPServerConnectionMutation, usePatchWorkflowMutation, usePlatformInvitationsQuery, usePlatformUserGroupsQuery, usePlatformUsersQuery, usePublishWorkflowMutation, usePushClawConfigMutation, useRefreshVersionClawInstanceMutation, useRemoveProfileImageMutation, useRemoveWatchedUserMutation, useRenewSubscriptionMutation, useResetPasswordMutation, useRevokeShareableLinkMutation, useSeedMentorsQuery, useSelfRetireMutation, useSendNotificationMutation, useSetCurrentVersionMutation, useSetPlatformConfigurationsMutation, useSetStudentMentorCreationStatusMutation, useStarMentorMutation, useStarredMentorsQuery, useStartExamMutation, useStartStripeConnectOnboardingMutation, useTestConnectivityClawInstanceMutation, useTimeTrackingMutation, useToggleTemplateMutation, useTriggerAutoRechargeMutation, useUnPinMessageMutation, useUnpublishWorkflowMutation, useUnstarMentorMutation, useUpdateAdminProjectMutation, useUpdateAgentConfigMutation, useUpdateAgentSkillMutation, useUpdateAgentSkillResourceMutation, useUpdateArtifactMutation, useUpdateAutoRechargeInfoMutation, useUpdateCallConfigurationMutation, useUpdateChatSessionMutation, useUpdateChatSessionSharedMutation, useUpdateClawInstanceMutation, useUpdateClawMentorConfigMutation, useUpdateCredentialMutation, useUpdateDisclaimerMutation, useUpdateExamAttemptMutation, useUpdateIntegrationCredentialMutation, useUpdateLtiKeyMutation, useUpdateLtiMentorMutation, useUpdateLtiToolMutation, useUpdateMCPServerMutation, useUpdateMemoryCategoryMutation, useUpdateMemsearchConfigMutation, useUpdateMentorMemoryMutation, useUpdateMentorSkillAssignmentMutation, useUpdateMessageFeedbackMutation, useUpdatePaywallMutation, useUpdatePeriodicAgentMutation, useUpdatePlatformImageAssetMutation, useUpdatePlatformInfoMutation, useUpdatePlatformMembershipMutation, useUpdatePlatformUserGroupMutation, useUpdatePlatformUserRoleWithPoliciesMutation, useUpdatePriceMutation, useUpdatePromptMutation, useUpdateRbacGroupMutation, useUpdateRbacMentorAccessMutation, useUpdateRbacPolicyMutation, useUpdateRbacRoleMutation, useUpdateRecommendedPromptMutation, useUpdateSessionDisableChathistoryMutation, useUpdateShareableLinkMutation, useUpdateTemplateMutation, useUpdateTenantChatPrivacyConfigMutation, useUpdateTenantMetadataMutation, useUpdateUserAccountMutation, useUpdateUserChatPrivacySettingsMutation, useUpdateUserEducationMutation, useUpdateUserExperienceMutation, useUpdateUserMemorySettingsMutation, useUpdateUserMetadataEdxMutation, useUpdateUserMetadataMutation, useUpdateUserOnboardingStatusMutation, useUpdateUserPlatformMetadataMutation, useUpdateUserProjectMutation, useUpdateUserRoleMutation, useUpdateUserStatusMutation, useUpdateUserTrialStatusMutation, useUpdateWatchedGroupMutation, useUpdateWatcherMutation, useUpdateWorkflowMutation, useUploadCredentialImageMutation, useUploadDarkLogoMutation, useUploadLightLogoMutation, useUploadProfileImageMutation, useUsersGradesPassedQuery, useValidateWorkflowMutation, userApiSlice, userInvitationsApiSlice, watchedGroupsApiSlice, workflowsApiSlice };
47062
+ export { APP_IDENTIFIERS, AUDIT_LOGS_ENDPOINTS, AUDIT_LOGS_QUERY_KEYS, AUDIT_LOGS_REDUCER_PATH, CALL_CONFIGURATIONS_ENDPOINTS, CALL_CONFIGURATIONS_REDUCER_PATH, CALL_CONFIGURATIONS_TAGS, CHAT_HISTORY_PAGE_PARAM, CHAT_HISTORY_PAGE_SIZE, CHAT_HISTORY_PAGE_SIZE_PARAM, CHAT_PRIVACY_MODES, CLAW_ENDPOINTS, CLAW_REDUCER_PATH, CLAW_TAG_TYPES, CORE_CUSTOM_ENDPOINTS, CORE_CUSTOM_REDUCER_PATH, CORE_FAKE_CUSTOM_REDUCER_PATH, CREDENTIALS_CUSTOM_ENDPOINTS, CREDENTIALS_CUSTOM_REDUCER_PATH, CUSTOM_AI_SEARCH_ENDPOINTS, CUSTOM_AI_SEARCH_QUERY_KEYS, CUSTOM_AI_SEARCH_REDUCER_PATH, CUSTOM_DOMAIN_ENDPOINTS, CUSTOM_DOMAIN_QUERY_KEYS, CUSTOM_DOMAIN_REDUCER_PATH, ChatPrivacyModeEnum, DEFAULT_PRIVACY_ACTION, DEFAULT_PRIVACY_RESPONSE, DISCLAIMERS_ENDPOINTS, DISCLAIMERS_QUERY_KEYS, DISCLAIMERS_REDUCER_PATH, EDX_PROCTORING_ENDPOINTS, EVALUATIONS_ENDPOINTS, EVALUATIONS_REDUCER_PATH, EVALUATIONS_TAGS, IblDataLayer, LOGO_ENDPOINTS, MCP_ENDPOINTS, MCP_REDUCER_PATH, MCP_TAG_TYPES, MEMORY_QUERY_KEYS, MEMORY_REDUCER_PATH, MEMSEARCH_ENDPOINTS, MENTORS_QUERY_KEYS, MENTORS_REDUCER_PATH, MENTOR_CUSTOM_ENDPOINTS, MENTOR_CUSTOM_REDUCER_PATH, MENTOR_ENDPOINTS, NOTIFICATIONS_CUSTOM_ENDPOINTS, NOTIFICATIONS_CUSTOM_REDUCER_PATH, NOTIFICATIONS_CUSTOM_TAGS, PLATFORM_CONFIGURATION_TAG, PLATFORM_CUSTOM_ENDPOINTS, PLATFORM_CUSTOM_REDUCER_PATH, PLATFORM_MEMBERSHIP_TAG, PRIVACY_ACTIONS, PRIVACY_BLOCKED_ERROR_KIND, PRIVACY_ENTITY_TYPES, PRIVACY_TARGET_SYSTEM, PROJECTS_CUSTOM_ENDPOINTS, PROJECTS_CUSTOM_REDUCER_PATH, PROJECTS_QUERY_KEYS, QUERY_PARAMS, RETIREMENT_ENDPOINTS, SERVICES, STORAGE_KEYS, STUDIO_AUTHORING_ENDPOINTS, SUGGESTED_PRIVACY_ENTITIES, SUPPORT_TICKETS_ENDPOINTS, SUPPORT_TICKETS_REDUCER_PATH, SUPPORT_TICKETS_TAGS, TENANT_IDENTIFIERS, TENANT_LOGO_ENDPOINTS, TENANT_LOGO_QUERY_KEYS, TENANT_LOGO_REDUCER_PATH, URL_PATTERNS, WATCHED_GROUPS_ENDPOINTS, WATCHED_GROUPS_QUERY_KEYS, WATCHED_GROUPS_REDUCER_PATH, WATCHER_NOTIFICATION_EVENTS, WATCHER_NOTIFICATION_EVENT_LABELS, WORKFLOWS_ENDPOINTS, WORKFLOWS_QUERY_KEYS, WORKFLOWS_REDUCER_PATH, analyticsApiSlice, apiKeysApiReducer, apiKeysApiSlice, appApiReducer, appApiSlice, artifactsApiReducer, artifactsApiSlice, auditLogsApiSlice, authApiSlice, billingApiSlice, billingCustomSlice, buildRecentMessagesUrl, buildSessionRetrieveUrl, buildSharedSessionRetrieveUrl, callConfigurationsApiReducer, callConfigurationsApiSlice, careerApiSlice, catalogApiSlice, chatApiSlice, chatCustomApiSlice, chatFilesApiSlice, chatHistoryApiSlice, chatPrivacyApiSlice, clawApiSlice, coreApiSlice, coreCustomApiSlice, coreFakeCustomPublicImageAssetApiSlice, courseMetadataApiSlice, coursesApiSlice, credentialsApiSlice, credentialsCustomApiSlice, customAiSearchApiSlice, customDomainApiSlice, datasetsApiSlice, disclaimersApiSlice, edxProctoringApiSlice, edxSsoApiSlice, evalTotalPages, evaluationsApiSlice, fakeBaseQueryWithLogging, featureTags, getNextRecentMessagesPageParam, iblFakeBaseQuery, initializeDataLayer, isPoliciesResponse, isPrivacyBlockedError, llmsApiSlice, mcpApiSlice, memoryApiSlice, mentorApiReducer, mentorApiSlice, mentorCategoriesApiSlice, mentorCustomApiSlice, mentorMiddleware, mentorReducer, moderationLogsApiReducer, moderationLogsApiSlice, monetizationApiSlice, notificationsApiSlice, notificationsCustomApiSlice, perLearnerApiSlice, periodicAgentsApiSlice, platformApiReducer, platformApiSlice, platformCustomApiSlice, projectsApiSlice, promptsApiSlice, recommendationPromptTypeEnum, reportsApiSlice, retirementApiSlice, searchApiSlice, sessionApiSlice, skillsApiSlice, skillsMiddleware, skillsReducer, stripeApiSlice, studioAuthoringApiSlice, supportTicketsApiSlice, tenantApiReducer, tenantApiSlice, tenantLogoApiSlice, toolsApiSlice, trainingDocumentsApiSlice, useActivateWorkflowMutation, useAddEvalDatasetItemsMutation, useAddPinnedMessageMutation, useAddTrainingDocumentMutation, useAddWatchedUserMutation, useAddWatcherMutation, useAgreeToDisclaimerMutation, useAudioToTextMutation, useCancelSubscriptionMutation, useChatWithWorkflowMutation, useCheckAccessQuery, useCheckAccessUnscopedQuery, useCloseSupportTicketMutation, useConnectedServicesCallbackQuery, useCreateAdminProjectMutation, useCreateAgentSkillMutation, useCreateAgentSkillResourceMutation, useCreateApiKeyMutation, useCreateApplicationCourseAssignmentsMutation, useCreateApplicationDraftMutation, useCreateApplicationFormMutation, useCreateApplicationNoteMutation, useCreateApplicationPlacementsMutation, useCreateApplicationWaiverMutation, useCreateCallConfigurationMutation, useCreateCallCredentialsMutation, useCreateCatalogInvitationBulkMutation, useCreateCatalogInvitationCourseBulkMutation, useCreateCatalogInvitationCourseMutation, useCreateCatalogInvitationProgramBulkMutation, useCreateCatalogInvitationProgramMutation, useCreateCatalogPathwayEnrollmentMutation, useCreateCatalogPathwayMutation, useCreateCatalogPathwaySelfEnrollmentMutation, useCreateCatalogProgramMutation, useCreateCatalogProgramSelfEnrollmentMutation, useCreateCatalogRoleMutation, useCreateCheckoutMutation, useCreateClawInstanceMutation, useCreateClawMentorConfigMutation, useCreateCourseEnrollmentMutation, useCreateCredentialAssertionMutation, useCreateCredentialMutation, useCreateCustomDomainMutation, useCreateDisclaimerMutation, useCreateEvalDatasetMutation, useCreateEvalScoreConfigMutation, useCreateEvalScoreMutation, useCreateExternalMappingMutation, useCreateGlobalMemoryMutation, useCreateGuestCheckoutMutation, useCreateIntegrationCredentialMutation, useCreateLLMCredentialMutation, useCreateLtiKeyMutation, useCreateLtiMentorMutation, useCreateLtiToolMutation, useCreateMCPServerConnectionMutation, useCreateMCPServerMutation, useCreateMemoryCategoryMutation, useCreateMentorMemoryMutation, useCreateMentorMutation, useCreateMentorSkillAssignmentMutation, useCreateNotificationPreviewMutation, useCreateOrUpdateUserDesiredSkillMutation, useCreateOrUpdateUserReportedSkillMutation, useCreatePeriodicAgentMutation, useCreatePlatformImageAssetMutation, useCreatePlatformUserGroupMutation, useCreatePriceMutation, useCreatePromptMutation, useCreateProviderConfigMutation, useCreateRbacGroupMutation, useCreateRbacPolicyMutation, useCreateRbacRoleMutation, useCreateRbacTeamsAccessMutation, useCreateRecommendedPromptMutation, useCreateRedirectTokenMutation, useCreateReportMutation, useCreateSessionIdMutation, useCreateShareableLinkMutation, useCreateStripeCheckoutSessionMutation, useCreateStripeCustomerPortalMutation, useCreateStudioCourseMutation, useCreateStudioXblockMutation, useCreateSupportTicketMessageMutation, useCreateTrainingDocumentRetrainScheduleMutation, useCreateUserCompanyMutation, useCreateUserEducationMutation, useCreateUserExperienceMutation, useCreateUserInstitutionMutation, useCreateUserInvitationMutation, useCreateUserProjectMutation, useCreateUserResumeMutation, useCreateWatchedGroupMutation, useCreateWorkflowMutation, useDeactivateWorkflowMutation, useDeleteAdminProjectMutation, useDeleteAgentSkillMutation, useDeleteAgentSkillResourceMutation, useDeleteApiKeyMutation, useDeleteApplicationAttachmentMutation, useDeleteApplicationBlockMutation, useDeleteApplicationCourseAssignmentMutation, useDeleteApplicationNoteMutation, useDeleteApplicationWaiverMutation, useDeleteClawInstanceMutation, useDeleteClawMentorConfigMutation, useDeleteCourseCredentialMutation, useDeleteCredentialMutation, useDeleteCustomDomainMutation, useDeleteDisclaimerMutation, useDeleteEvalDatasetItemMutation, useDeleteEvalRunMutation, useDeleteEvalScoreMutation, useDeleteExternalMappingMutation, useDeleteGlobalMemoryMutation, useDeleteIntegrationCredentialMutation, useDeleteLtiKeyMutation, useDeleteLtiMentorMutation, useDeleteLtiToolMutation, useDeleteMCPServerMutation, useDeleteMemoryCategoryMutation, useDeleteMentorMemoryMutation, useDeleteMentorMutation, useDeleteMentorSkillAssignmentMutation, useDeleteMessageMutation, useDeleteModerationLogMutation, useDeletePeriodicAgentMutation, useDeletePlatformConfigurationMutation, useDeletePlatformImageAssetMutation, useDeletePlatformUserGroupMutation, useDeletePriceMutation, useDeletePromptMutation, useDeleteProviderConfigMutation, useDeleteRbacGroupMutation, useDeleteRbacPolicyMutation, useDeleteRbacRoleMutation, useDeleteRecommendedPromptMutation, useDeleteStudioCourseMutation, useDeleteSupportTicketMessageMutation, useDeleteSupportTicketMutation, useDeleteTrainingDocumentMutation, useDeleteUserEducationMutation, useDeleteUserExperienceMutation, useDeleteUserProjectMutation, useDeleteWatchedGroupMutation, useDeleteWatcherMutation, useDeleteWorkflowMutation, useDisablePaywallMutation, useDisconnectServiceMutation, useEditMentorAndRefreshListMutation, useEditMentorJsonMutation, useEditMentorMutation, useEditSessionMutation, useEditTrainingDocumentMutation, useEnablePaywallMutation, useEvaluateEvalRunMutation, useExchangeAppleTokenMutation, useExportChatHistoryMutation, useExportEvalRunMutation, useForkMentorMutation, useGetAccessTimeHeatmapQuery, useGetAccountBillingInfoQuery, useGetAdminProjectDetailsQuery, useGetAdminProjectsQuery, useGetAgentConfigQuery, useGetAgentSkillQuery, useGetAgentSkillResourceQuery, useGetAgentSkillResourcesQuery, useGetAgentSkillsQuery, useGetAiSearchMentorsQuery, useGetApiKeysQuery, useGetAppTokensMutation, useGetApplicationAdminDetailQuery, useGetApplicationBlocksQuery, useGetApplicationCourseAssignmentsQuery, useGetApplicationFormDetailQuery, useGetApplicationFormQuery, useGetApplicationFormsQuery, useGetApplicationNotesQuery, useGetApplicationPlacementsQuery, useGetApplicationStatusQuery, useGetApplicationsPipelineQuery, useGetApplicationsPipelineStatsQuery, useGetArtifactQuery, useGetArtifactVersionQuery, useGetAssignedProgramsQuery, useGetAuditLogsQuery, useGetAverageMessagesPerSessionQuery, useGetAverageRatingQuery, useGetCallConfigurationQuery, useGetCallConfigurationsQuery, useGetCatalogInvitationsCourseQuery, useGetCatalogInvitationsProgramQuery, useGetCatalogSearchQuery, useGetChatHistoryExportStatusQuery, useGetChatHistoryFilterQuery, useGetChatHistoryQuery, useGetChatMessageTtsQuery, useGetChatMessagesForSessionQuery, useGetChatPrivacyEffectiveQuery, useGetClawInstanceQuery, useGetClawInstancesQuery, useGetClawMentorConfigQuery, useGetConnectedServiceAuthUrlQuery, useGetConnectedServicesQuery, useGetContentAnalyticsDetailsQuery, useGetContentAnalyticsQuery, useGetConversationMemoriesQuery, useGetConversationQuery, useGetCourseCompletionOutlinesQuery, useGetCourseCompletionQuery, useGetCourseEligibilityQuery, useGetCourseMetaDataQuery, useGetCourseProgressQuery, useGetCredentialsListQuery, useGetCredentialsQuery, useGetCredentialsSchemaQuery, useGetCustomDomainsQuery, useGetCustomMentorsQuery, useGetDatasetsQuery, useGetDepartmentMemberCheckQuery, useGetDesiredSkillsQuery, useGetDetailedFinancialStatsQuery, useGetDisclaimersQuery, useGetEdxSSOTokenQuery, useGetEnrollmentCourseSearchQuery, useGetEvalDatasetQuery, useGetEvalRunQuery, useGetEvalTaskStatusQuery, useGetExamInfoQuery, useGetExternalMappingQuery, useGetFileUploadUrlMutation, useGetFinancialStatsQuery, useGetFreeUsageCountQuery, useGetGlobalMemoriesQuery, useGetGuidedPromptsQuery, useGetIntegrationCredentialsQuery, useGetIntegrationCredentialsSchemaQuery, useGetIssuersQuery, useGetItemSubscriptionQuery, useGetLLMCredentialsQuery, useGetLearnerDetailsQuery, useGetLlmsQuery, useGetLtiKeyDetailQuery, useGetLtiKeysQuery, useGetLtiMentorDetailQuery, useGetLtiMentorsQuery, useGetLtiToolDetailQuery, useGetLtiToolsQuery, useGetMCPServerConnectionsQuery, useGetMCPServerQuery, useGetMCPServersQuery, useGetMaskedIntegrationCredentialsQuery, useGetMaskedLLMCredentialsQuery, useGetMemoryCategoriesAdminQuery, useGetMemsearchConfigQuery, useGetMemsearchStatusQuery, useGetMentorCategoriesQuery, useGetMentorCategoryGroupsQuery, useGetMentorDetailsQuery, useGetMentorMemoriesListQuery, useGetMentorMemoriesQuery, useGetMentorPublicSettingsQuery, useGetMentorSettingsQuery, useGetMentorSkillAssignmentQuery, useGetMentorSkillAssignmentsQuery, useGetMentorSummariesQuery, useGetMentorsQuery, useGetMfeContextQuery, useGetModerationLogsQuery, useGetMostDiscussedTopicsQuery, useGetMySubscriptionsQuery, useGetNodeTypesQuery, useGetNotificationContextQuery, useGetNotificationsCountQuery, useGetNotificationsQuery, useGetOAuthServicesQuery, useGetOverTimeActivityQuery, useGetOverviewSummaryQuery, useGetPathwayCompletionQuery, useGetPathwayListQuery, useGetPaywallConfigQuery, useGetPerLearnerActivityQuery, useGetPerLearnerInfoQuery, useGetPeriodicAgentLogsListQuery, useGetPeriodicAgentLogsQuery, useGetPeriodicAgentQuery, useGetPeriodicAgentsQuery, useGetPersonnalizedMentorsQuery, useGetPersonnalizedSearchQuery, useGetPinnedMessagesQuery, useGetPlatformConfigurationsQuery, useGetPlatformImageAssetDetailsQuery, useGetPlatformImageAssetsListQuery, useGetPlatformInfoQuery, useGetPlatformMembershipQuery, useGetPlatformUserGroupDetailsQuery, useGetProgramCompletionQuery, useGetProgramListQuery, useGetPromptCategoriesQuery, useGetPromptsQuery, useGetPromptsSearchQuery, useGetProviderConfigQuery, useGetPublicMentorsQuery, useGetPublicPlatformImageAssetFileUrlQuery, useGetPublicPlatformMembershipQuery, useGetPublicPricingQuery, useGetRbacActionsDefinitionQuery, useGetRbacGroupDetailsQuery, useGetRbacGroupsQuery, useGetRbacMentorAccessListQuery, useGetRbacPermissionsMutation, useGetRbacPoliciesQuery, useGetRbacPolicyDetailsQuery, useGetRbacResourceDiscoveryQuery, useGetRbacResourceListQuery, useGetRbacRoleDetailsQuery, useGetRbacRolesQuery, useGetRbacTeamsAccessListQuery, useGetRecentMessageQuery, useGetRecentMessagesInfiniteQuery, useGetRecentlyAccessedMentorsQuery, useGetRecommendationsAiSearchQuery, useGetRecommendedPromptsListQuery, useGetRegisteredUsersTrendQuery, useGetReportDetailQuery, useGetReportedSkillsQuery, useGetReportsQuery, useGetResourceSearchQuery, useGetRevenueQuery, useGetSessionIdQuery, useGetSessionStatsQuery, useGetShareableLinkPublicQuery, useGetShareableLinkQuery, useGetSharedSessionIdQuery, useGetSkillsPointsPercentileQuery, useGetStripeConnectDashboardQuery, useGetStripeConnectStatusQuery, useGetStripeContextQuery, useGetStripePricingPageSessionQuery, useGetStudentMentorCreationStatusQuery, useGetSupportTicketMessageQuery, useGetSupportTicketMessagesQuery, useGetSupportTicketQuery, useGetSupportTicketsQuery, useGetTemplateDetailsQuery, useGetTemplatesQuery, useGetTenantChatPrivacyConfigQuery, useGetTenantMetadataQuery, useGetToolsQuery, useGetTopStudentsByChatMessagesQuery, useGetTopicOverviewQuery, useGetTopicStatisticsQuery, useGetTopicsDetailsStatsQuery, useGetTopicsStatsQuery, useGetTopicsSummaryQuery, useGetTrainingDocumentRetrainScheduleQuery, useGetTrainingDocumentsQuery, useGetTranscriptsConversationHeadlineQuery, useGetTranscriptsMessagesDetailsQuery, useGetTranscriptsMessagesQuery, useGetUserAppsQuery, useGetUserAssignedCoursesQuery, useGetUserAssignedPathwaysQuery, useGetUserCatalogPathwaysQuery, useGetUserChatPrivacySettingsQuery, useGetUserCohortsOverTimeQuery, useGetUserCompaniesQuery, useGetUserCredentialsQuery, useGetUserDesiredSkillsQuery, useGetUserDetailsStatsQuery, useGetUserEarnedSkillsQuery, useGetUserEducationQuery, useGetUserEnrolledCoursesQuery, useGetUserEnrolledPathwaysQuery, useGetUserEnrolledProgramsQuery, useGetUserExperienceQuery, useGetUserInstitutionsQuery, useGetUserInvitationsQuery, useGetUserMemorySettingsQuery, useGetUserMetadataEdxQuery, useGetUserMetadataQuery, useGetUserMetricsPieChartQuery, useGetUserMetricsQuery, useGetUserPlatformMetadataQuery, useGetUserProjectDetailsQuery, useGetUserProjectsQuery, useGetUserReportedSkillsQuery, useGetUserResumeQuery, useGetUserSkillsPointsQuery, useGetUserTenantsQuery, useGetUsersAsAssertionsQuery, useGetUsersStatsQuery, useGetVectorDocumentsQuery, useGetVoiceQuery, useGetVoicesQuery, useGetWatchedGroupQuery, useGetWatchedGroupsQuery, useGetWatchedUsersQuery, useGetWatcherQuery, useGetWatchersQuery, useGetWorkflowQuery, useGetWorkflowsQuery, useHealthCheckClawInstanceMutation, useInviteApplicationCandidateMutation, useInviteUserMutation, useJoinTenantMutation, useLazyCheckAccessQuery, useLazyCheckAccessUnscopedQuery, useLazyConnectedServicesCallbackQuery, useLazyGetAccountBillingInfoQuery, useLazyGetAdminProjectDetailsQuery, useLazyGetAdminProjectsQuery, useLazyGetAgentConfigQuery, useLazyGetAgentSkillResourcesQuery, useLazyGetAgentSkillsQuery, useLazyGetApiKeysQuery, useLazyGetApplicationAdminDetailQuery, useLazyGetApplicationAttachmentFileQuery, useLazyGetApplicationFormDetailQuery, useLazyGetApplicationFormQuery, useLazyGetApplicationFormsQuery, useLazyGetApplicationStatusQuery, useLazyGetApplicationsPipelineQuery, useLazyGetArtifactQuery, useLazyGetArtifactVersionQuery, useLazyGetAssignedProgramsQuery, useLazyGetAuditLogsQuery, useLazyGetCallConfigurationQuery, useLazyGetCallConfigurationsQuery, useLazyGetCatalogInvitationsCourseQuery, useLazyGetCatalogInvitationsProgramQuery, useLazyGetCatalogSearchQuery, useLazyGetChatHistoryExportStatusQuery, useLazyGetChatHistoryFilterQuery, useLazyGetChatHistoryQuery, useLazyGetChatMessageTtsQuery, useLazyGetChatMessagesForSessionQuery, useLazyGetChatPrivacyEffectiveQuery, useLazyGetClawInstanceQuery, useLazyGetClawInstancesQuery, useLazyGetClawMentorConfigQuery, useLazyGetConnectedServiceAuthUrlQuery, useLazyGetConnectedServicesQuery, useLazyGetConversationMemoriesQuery, useLazyGetCourseCompletionOutlinesQuery, useLazyGetCourseCompletionQuery, useLazyGetCourseEligibilityQuery, useLazyGetCourseMetaDataQuery, useLazyGetCourseProgressQuery, useLazyGetCredentialsListQuery, useLazyGetCredentialsQuery, useLazyGetCredentialsSchemaQuery, useLazyGetCustomDomainsQuery, useLazyGetCustomMentorsQuery, useLazyGetDatasetsQuery, useLazyGetDepartmentMemberCheckQuery, useLazyGetDesiredSkillsQuery, useLazyGetDisclaimersQuery, useLazyGetDownloadReportFromURLQuery, useLazyGetEdxSSOTokenQuery, useLazyGetEnrollmentCourseSearchQuery, useLazyGetEvalRunQuery, useLazyGetEvalTaskStatusQuery, useLazyGetExamInfoQuery, useLazyGetExternalMappingQuery, useLazyGetFreeUsageCountQuery, useLazyGetGlobalMemoriesQuery, useLazyGetGuidedPromptsQuery, useLazyGetIntegrationCredentialsQuery, useLazyGetIntegrationCredentialsSchemaQuery, useLazyGetIssuersQuery, useLazyGetItemSubscriptionQuery, useLazyGetLLMCredentialsQuery, useLazyGetLlmsQuery, useLazyGetLtiKeyDetailQuery, useLazyGetMCPServerQuery, useLazyGetMCPServersQuery, useLazyGetMemoryCategoriesAdminQuery, useLazyGetMemsearchConfigQuery, useLazyGetMemsearchStatusQuery, useLazyGetMentorCategoriesQuery, useLazyGetMentorCategoryGroupsQuery, useLazyGetMentorDetailsQuery, useLazyGetMentorMemoriesListQuery, useLazyGetMentorMemoriesQuery, useLazyGetMentorPublicSettingsQuery, useLazyGetMentorSettingsQuery, useLazyGetMentorSkillAssignmentsQuery, useLazyGetMentorSummariesQuery, useLazyGetMentorsQuery, useLazyGetModerationLogsQuery, useLazyGetMySubscriptionsQuery, useLazyGetNodeTypesQuery, useLazyGetNotificationContextQuery, useLazyGetNotificationsCountQuery, useLazyGetNotificationsQuery, useLazyGetOAuthServicesQuery, useLazyGetOverTimeActivityQuery, useLazyGetPathwayCompletionQuery, useLazyGetPathwayListQuery, useLazyGetPaywallConfigQuery, useLazyGetPerLearnerActivityQuery, useLazyGetPerLearnerInfoQuery, useLazyGetPeriodicAgentLogsListQuery, useLazyGetPeriodicAgentLogsQuery, useLazyGetPeriodicAgentQuery, useLazyGetPeriodicAgentsQuery, useLazyGetPersonnalizedMentorsQuery, useLazyGetPersonnalizedSearchQuery, useLazyGetPinnedMessagesQuery, useLazyGetPlatformInfoQuery, useLazyGetPlatformMembershipQuery, useLazyGetProgramCompletionQuery, useLazyGetProgramListQuery, useLazyGetPromptCategoriesQuery, useLazyGetPromptsQuery, useLazyGetPromptsSearchQuery, useLazyGetProviderConfigQuery, useLazyGetPublicMentorsQuery, useLazyGetPublicPlatformImageAssetFileUrlQuery, useLazyGetPublicPlatformMembershipQuery, useLazyGetPublicPricingQuery, useLazyGetRbacActionsDefinitionQuery, useLazyGetRbacResourceDiscoveryQuery, useLazyGetRbacResourceListQuery, useLazyGetRbacRolesQuery, useLazyGetRbacTeamsAccessListQuery, useLazyGetRecentMessageQuery, useLazyGetRecentlyAccessedMentorsQuery, useLazyGetRecommendationsAiSearchQuery, useLazyGetRecommendedPromptsListQuery, useLazyGetReportDetailQuery, useLazyGetReportedSkillsQuery, useLazyGetReportsQuery, useLazyGetResourceSearchQuery, useLazyGetRevenueQuery, useLazyGetSessionIdQuery, useLazyGetShareableLinkPublicQuery, useLazyGetShareableLinkQuery, useLazyGetSharedSessionIdQuery, useLazyGetSkillsPointsPercentileQuery, useLazyGetStripeConnectDashboardQuery, useLazyGetStripeConnectStatusQuery, useLazyGetStripeContextQuery, useLazyGetStripePricingPageSessionQuery, useLazyGetSupportTicketMessageQuery, useLazyGetSupportTicketMessagesQuery, useLazyGetSupportTicketQuery, useLazyGetSupportTicketsQuery, useLazyGetTemplateDetailsQuery, useLazyGetTemplatesQuery, useLazyGetTenantChatPrivacyConfigQuery, useLazyGetTenantMetadataQuery, useLazyGetToolsQuery, useLazyGetTrainingDocumentRetrainScheduleQuery, useLazyGetTrainingDocumentsQuery, useLazyGetUserAppsQuery, useLazyGetUserAssignedCoursesQuery, useLazyGetUserAssignedPathwaysQuery, useLazyGetUserCatalogPathwaysQuery, useLazyGetUserChatPrivacySettingsQuery, useLazyGetUserCompaniesQuery, useLazyGetUserCredentialsQuery, useLazyGetUserDesiredSkillsQuery, useLazyGetUserEarnedSkillsQuery, useLazyGetUserEducationQuery, useLazyGetUserEnrolledCoursesQuery, useLazyGetUserEnrolledPathwaysQuery, useLazyGetUserEnrolledProgramsQuery, useLazyGetUserExperienceQuery, useLazyGetUserInstitutionsQuery, useLazyGetUserInvitationsQuery, useLazyGetUserMemorySettingsQuery, useLazyGetUserMetadataEdxQuery, useLazyGetUserMetadataQuery, useLazyGetUserPlatformMetadataQuery, useLazyGetUserProjectDetailsQuery, useLazyGetUserProjectsQuery, useLazyGetUserReportedSkillsQuery, useLazyGetUserResumeQuery, useLazyGetUserSkillsPointsQuery, useLazyGetUserTenantsQuery, useLazyGetUsersAsAssertionsQuery, useLazyGetVectorDocumentsQuery, useLazyGetVoiceQuery, useLazyGetVoicesQuery, useLazyGetWatchedGroupQuery, useLazyGetWatchedGroupsQuery, useLazyGetWatchedUsersQuery, useLazyGetWatchersQuery, useLazyGetWorkflowQuery, useLazyGetWorkflowsQuery, useLazyListArtifactVersionsQuery, useLazyListArtifactsQuery, useLazyListEvalDatasetItemsQuery, useLazyListEvalDatasetsQuery, useLazyListEvalJudgesQuery, useLazyListEvalRunJudgesQuery, useLazyListEvalRunsQuery, useLazyListEvalScoresQuery, useLazyListItemSubscribersQuery, useLazyListOwnApplicationsQuery, useLazyListPaywallsQuery, useLazyListPricesQuery, useLazyListSubscribersQuery, useLazyPlatformUserGroupsQuery, useLazyPlatformUsersQuery, useLazyRefreshJwtTokenQuery, useLazySeedMentorsQuery, useLazyStarredMentorsQuery, useLazyStartOAuthFlowQuery, useLinkApplicationCandidateMutation, useListArtifactVersionsQuery, useListArtifactsQuery, useListEvalDatasetItemsQuery, useListEvalDatasetsQuery, useListEvalJudgesQuery, useListEvalRunJudgesQuery, useListEvalRunsQuery, useListEvalScoreConfigsQuery, useListEvalScoresQuery, useListItemSubscribersQuery, useListOwnApplicationsQuery, useListPaywallsQuery, useListPricesQuery, useListSubscribersQuery, useMarkAllAsReadMutation, useOauthFindMutation, usePartialUpdateMCPServerMutation, usePartialUpdatePeriodicAgentMutation, usePartialUpdateRbacRoleMutation, usePatchMCPServerConnectionMutation, usePatchSupportTicketMessageMutation, usePatchSupportTicketMutation, usePatchWorkflowMutation, usePlatformInvitationsQuery, usePlatformUserGroupsQuery, usePlatformUsersQuery, usePublishWorkflowMutation, usePushClawConfigMutation, useRefreshVersionClawInstanceMutation, useRemoveProfileImageMutation, useRemoveWatchedUserMutation, useRenewApplicationMutation, useRenewSubscriptionMutation, useResetPasswordMutation, useRevokeShareableLinkMutation, useSeedMentorsQuery, useSelfRetireMutation, useSendNotificationMutation, useSetCurrentVersionMutation, useSetPlatformConfigurationsMutation, useSetStudentMentorCreationStatusMutation, useSetStudioAdvancedSettingsMutation, useStarMentorMutation, useStarredMentorsQuery, useStartEvalRunMutation, useStartExamMutation, useStartStripeConnectOnboardingMutation, useSubmitApplicationMutation, useSubmitApplicationOverrideMutation, useTestConnectivityClawInstanceMutation, useTimeTrackingMutation, useToggleTemplateMutation, useTransitionApplicationMutation, useTriggerAutoRechargeMutation, useUnPinMessageMutation, useUnpublishWorkflowMutation, useUnstarMentorMutation, useUpdateAdminProjectMutation, useUpdateAgentConfigMutation, useUpdateAgentSkillMutation, useUpdateAgentSkillResourceMutation, useUpdateApplicationFormMutation, useUpdateApplicationMutation, useUpdateApplicationNoteMutation, useUpdateApplicationPlacementMutation, useUpdateArtifactMutation, useUpdateAutoRechargeInfoMutation, useUpdateCallConfigurationMutation, useUpdateChatSessionMutation, useUpdateChatSessionSharedMutation, useUpdateClawInstanceMutation, useUpdateClawMentorConfigMutation, useUpdateCredentialMutation, useUpdateDisclaimerMutation, useUpdateEvalDatasetItemMutation, useUpdateExamAttemptMutation, useUpdateIntegrationCredentialMutation, useUpdateLtiKeyMutation, useUpdateLtiMentorMutation, useUpdateLtiToolMutation, useUpdateMCPServerMutation, useUpdateMemoryCategoryMutation, useUpdateMemsearchConfigMutation, useUpdateMentorMemoryMutation, useUpdateMentorSkillAssignmentMutation, useUpdateMessageFeedbackMutation, useUpdatePaywallMutation, useUpdatePeriodicAgentMutation, useUpdatePlatformImageAssetMutation, useUpdatePlatformInfoMutation, useUpdatePlatformMembershipMutation, useUpdatePlatformUserGroupMutation, useUpdatePlatformUserRoleWithPoliciesMutation, useUpdatePriceMutation, useUpdatePromptMutation, useUpdateRbacGroupMutation, useUpdateRbacMentorAccessMutation, useUpdateRbacPolicyMutation, useUpdateRbacRoleMutation, useUpdateRecommendedPromptMutation, useUpdateSessionDisableChathistoryMutation, useUpdateShareableLinkMutation, useUpdateStudioCourseSettingsMutation, useUpdateStudioXblockMutation, useUpdateSupportTicketMessageMutation, useUpdateSupportTicketMutation, useUpdateTemplateMutation, useUpdateTenantChatPrivacyConfigMutation, useUpdateTenantMetadataMutation, useUpdateUserAccountMutation, useUpdateUserChatPrivacySettingsMutation, useUpdateUserEducationMutation, useUpdateUserExperienceMutation, useUpdateUserMemorySettingsMutation, useUpdateUserMetadataEdxMutation, useUpdateUserMetadataMutation, useUpdateUserOnboardingStatusMutation, useUpdateUserPlatformMetadataMutation, useUpdateUserProjectMutation, useUpdateUserRoleMutation, useUpdateUserStatusMutation, useUpdateUserTrialStatusMutation, useUpdateWatchedGroupMutation, useUpdateWatcherMutation, useUpdateWorkflowMutation, useUploadApplicationAttachmentMutation, useUploadCredentialImageMutation, useUploadDarkLogoMutation, useUploadEvalDatasetCsvMutation, useUploadLightLogoMutation, useUploadProfileImageMutation, useUploadStudioCourseAssetMutation, useUploadStudioCourseVideoMutation, useUploadStudioScormPackageMutation, useUsersGradesPassedQuery, useValidateWorkflowMutation, useWithdrawApplicationMutation, userApiSlice, userInvitationsApiSlice, watchedGroupsApiSlice, workflowsApiSlice };
45887
47063
  //# sourceMappingURL=index.esm.js.map