@iblai/data-layer 1.31.0 → 1.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -40700,11 +40700,24 @@ const platformApiSlice = react.createApi({
40700
40700
  'platform_user_groups',
40701
40701
  'platform_application_forms',
40702
40702
  'platform_applications',
40703
+ 'user_platforms',
40703
40704
  ],
40704
40705
  endpoints: (builder) => ({
40705
40706
  usersGradesPassed: builder.query({
40706
40707
  ...buildEndpointFromDmService(AiAnalyticsService.platformOrgsCoursesUsersGradesPassedRetrieve),
40707
40708
  }),
40709
+ /**
40710
+ * The platforms a user is linked to. Each link carries `is_default`, so the
40711
+ * caller's default platform can be read from this list without a second
40712
+ * call to `/api/core/users/platforms/default/`.
40713
+ *
40714
+ * The pinned client's `UserPlatformLink` predates that field, hence the
40715
+ * cast to the local type.
40716
+ */
40717
+ userPlatforms: builder.query({
40718
+ ...buildEndpointFromDmService(async (args) => CoreService.coreUsersPlatformsList(args)),
40719
+ providesTags: ['user_platforms'],
40720
+ }),
40708
40721
  platformUsers: builder.query({
40709
40722
  ...buildEndpointFromService(exports.SERVICES.DM, async (args) => {
40710
40723
  // Convert all args to strings for URLSearchParams
@@ -41042,7 +41055,7 @@ const platformApiSlice = react.createApi({
41042
41055
  }),
41043
41056
  });
41044
41057
  const platformApiReducer = platformApiSlice.reducer;
41045
- 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;
41058
+ 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, useUserPlatformsQuery, useLazyUserPlatformsQuery, } = platformApiSlice;
41046
41059
 
41047
41060
  const USERS_ENDPOINTS = {
41048
41061
  GET_USER_METADATA: {
@@ -41359,6 +41372,34 @@ async function fetchLtiList(path, args) {
41359
41372
  }
41360
41373
  return response.json();
41361
41374
  }
41375
+ /**
41376
+ * Fetch for the tenant-admin LLM-access endpoints. Not in the pinned generated
41377
+ * client, and the screen needs the HTTP status and the 400 body (which names
41378
+ * the rejected entry), so a JSON body is kept parsed on the thrown error.
41379
+ */
41380
+ async function fetchLlmAccess(path, init, query) {
41381
+ const url = `${OpenAPI.BASE}/api/core/rbac/llm-access/${path}/${query ? `?${query.toString()}` : ''}`;
41382
+ const response = await fetch(url, {
41383
+ ...init,
41384
+ headers: { ...OpenAPI.HEADERS, ...init.headers },
41385
+ credentials: 'omit',
41386
+ });
41387
+ if (!response.ok) {
41388
+ const text = await response.text();
41389
+ let body = text;
41390
+ try {
41391
+ body = JSON.parse(text);
41392
+ }
41393
+ catch (_a) {
41394
+ // Not JSON (e.g. an HTML error page); keep the raw text.
41395
+ }
41396
+ throw Object.assign(new Error(`Failed to ${path} user LLM access`), {
41397
+ status: response.status,
41398
+ body,
41399
+ });
41400
+ }
41401
+ return response.json();
41402
+ }
41362
41403
  const coreApiSlice = react.createApi({
41363
41404
  reducerPath: 'coreApiSlice',
41364
41405
  baseQuery: iblFakeBaseQuery,
@@ -41373,6 +41414,7 @@ const coreApiSlice = react.createApi({
41373
41414
  'LtiKeys',
41374
41415
  'LtiMentors',
41375
41416
  'LtiTools',
41417
+ 'LlmAccess',
41376
41418
  ],
41377
41419
  endpoints: (builder) => ({
41378
41420
  createRedirectToken: builder.mutation({
@@ -41435,6 +41477,21 @@ const coreApiSlice = react.createApi({
41435
41477
  setStudentMentorCreationStatus: builder.mutation({
41436
41478
  ...buildEndpointFromDmService(CoreService.coreRbacStudentMentorCreationSetCreate),
41437
41479
  }),
41480
+ // 404 (platform or "LLM Model Access" policy missing) and 400 (an entry
41481
+ // not in the model catalog) won't change on a retry, so fail fast and let
41482
+ // the screen explain them instead of stalling through the backoff.
41483
+ getLlmAccess: builder.query({
41484
+ ...buildEndpointFromService(exports.SERVICES.DM, (args) => fetchLlmAccess('status', { method: 'GET' }, new URLSearchParams({ platform_key: args.platform_key })), { expectedErrorStatuses: [404] }),
41485
+ providesTags: ['LlmAccess'],
41486
+ }),
41487
+ setLlmAccess: builder.mutation({
41488
+ ...buildEndpointFromService(exports.SERVICES.DM, (args) => fetchLlmAccess('set', {
41489
+ method: 'POST',
41490
+ headers: { 'Content-Type': 'application/json' },
41491
+ body: JSON.stringify(args),
41492
+ }), { expectedErrorStatuses: [400, 404] }),
41493
+ invalidatesTags: ['LlmAccess'],
41494
+ }),
41438
41495
  //RBAC GROUPS
41439
41496
  getRbacGroups: builder.query({
41440
41497
  ...buildEndpointFromDmService(CoreService.coreRbacGroupsList),
@@ -41857,7 +41914,7 @@ const coreApiSlice = react.createApi({
41857
41914
  }),
41858
41915
  }),
41859
41916
  });
41860
- const { useCreateRedirectTokenMutation, useGetPlatformInfoQuery, useGetRbacPermissionsMutation, useLazyGetPlatformInfoQuery, useUpdatePlatformInfoMutation, useUpdateUserStatusMutation, useGetAccessibleUsersQuery, useLazyGetAccessibleUsersQuery, 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,
41917
+ const { useCreateRedirectTokenMutation, useGetPlatformInfoQuery, useGetRbacPermissionsMutation, useLazyGetPlatformInfoQuery, useUpdatePlatformInfoMutation, useUpdateUserStatusMutation, useGetAccessibleUsersQuery, useLazyGetAccessibleUsersQuery, useGetStudentMentorCreationStatusQuery, useSetStudentMentorCreationStatusMutation, useGetLlmAccessQuery, useSetLlmAccessMutation, 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,
41861
41918
  // LTI Keys
41862
41919
  useGetLtiKeysQuery, useGetLtiKeyDetailQuery, useLazyGetLtiKeyDetailQuery, useCreateLtiKeyMutation, useUpdateLtiKeyMutation, useDeleteLtiKeyMutation,
41863
41920
  // LTI Agent (Mentor) Links
@@ -50424,6 +50481,7 @@ exports.useGetItemSubscriptionQuery = useGetItemSubscriptionQuery;
50424
50481
  exports.useGetLLMCredentialsQuery = useGetLLMCredentialsQuery;
50425
50482
  exports.useGetLearnerCourseOutlineQuery = useGetLearnerCourseOutlineQuery;
50426
50483
  exports.useGetLearnerDetailsQuery = useGetLearnerDetailsQuery;
50484
+ exports.useGetLlmAccessQuery = useGetLlmAccessQuery;
50427
50485
  exports.useGetLlmUsageMetricsQuery = useGetLlmUsageMetricsQuery;
50428
50486
  exports.useGetLlmUsageObservationsQuery = useGetLlmUsageObservationsQuery;
50429
50487
  exports.useGetLlmUsageTracesQuery = useGetLlmUsageTracesQuery;
@@ -50849,6 +50907,7 @@ exports.useLazyRefreshJwtTokenQuery = useLazyRefreshJwtTokenQuery;
50849
50907
  exports.useLazySeedMentorsQuery = useLazySeedMentorsQuery;
50850
50908
  exports.useLazyStarredMentorsQuery = useLazyStarredMentorsQuery;
50851
50909
  exports.useLazyStartOAuthFlowQuery = useLazyStartOAuthFlowQuery;
50910
+ exports.useLazyUserPlatformsQuery = useLazyUserPlatformsQuery;
50852
50911
  exports.useLinkApplicationCandidateMutation = useLinkApplicationCandidateMutation;
50853
50912
  exports.useListAgentSpendCapsQuery = useListAgentSpendCapsQuery;
50854
50913
  exports.useListAgentUserSpendCapsQuery = useListAgentUserSpendCapsQuery;
@@ -50898,6 +50957,7 @@ exports.useSelfRetireMutation = useSelfRetireMutation;
50898
50957
  exports.useSendNotificationMutation = useSendNotificationMutation;
50899
50958
  exports.useSendTestTemplateEmailMutation = useSendTestTemplateEmailMutation;
50900
50959
  exports.useSetCurrentVersionMutation = useSetCurrentVersionMutation;
50960
+ exports.useSetLlmAccessMutation = useSetLlmAccessMutation;
50901
50961
  exports.useSetPlatformConfigurationsMutation = useSetPlatformConfigurationsMutation;
50902
50962
  exports.useSetStudentMentorCreationStatusMutation = useSetStudentMentorCreationStatusMutation;
50903
50963
  exports.useSetStudioAdvancedSettingsMutation = useSetStudioAdvancedSettingsMutation;
@@ -51014,6 +51074,7 @@ exports.useUserLlmUsageMetrics = useUserLlmUsageMetrics;
51014
51074
  exports.useUserLlmUsageObservations = useUserLlmUsageObservations;
51015
51075
  exports.useUserLlmUsageSummary = useUserLlmUsageSummary;
51016
51076
  exports.useUserLlmUsageTraces = useUserLlmUsageTraces;
51077
+ exports.useUserPlatformsQuery = useUserPlatformsQuery;
51017
51078
  exports.useUsersGradesPassedQuery = useUsersGradesPassedQuery;
51018
51079
  exports.useValidateWorkflowMutation = useValidateWorkflowMutation;
51019
51080
  exports.useWithdrawApplicationMutation = useWithdrawApplicationMutation;