@iblai/data-layer 1.8.5 → 1.8.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iblai/data-layer",
3
- "version": "1.8.4",
3
+ "version": "1.8.5",
4
4
  "description": "ibl.ai data layer",
5
5
  "main": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,4 +1,4 @@
1
- import type { AnalyticsDateParams, AnalyticsPaginationParams, OverviewSummaryResponse, ConversationSummaryResponse, TopicStatisticsResponse, TopicOverviewResponse, UserMetricsResponse, UserMetricsPieChartResponse, UserCohortsOverTimeResponse, TopStudentsResponse, TopicsSummaryResponse, AverageMessagesPerSessionResponse, TopicsStatsArgs, TopicsStatsResponse, UsersStatsResponse, UsersStatsArgs, SessionStatsArgs, SessionStatsResponse, TopicsDetailsStatsResponse, TopicsDetailsStatsArgs, AccessTimeHeatmapResponse, AccessTimeHeatmapArgs, UserDetailsStatsResponse, UserDetailsStatsArgs, FinancialStatsResponse, FinancialStatsArgs, DetailedFinancialStatsResponse, DetailedFinancialStatsArgs, TranscriptsMessagesArgs, TranscriptsMessagesResponse, TranscriptsMessagesDetailsArgs, TranscriptsMessagesDetailsResponse, TranscriptsConversationHeadlineArgs, TranscriptsConversationHeadlineResponse, TimeTrackingResponse, TimeTrackingRequest, ContentAnalyticsResponse, ContentAnalyticsArgs, ContentAnalyticsDetailsResponse, ContentAnalyticsDetailsArgs } from './types';
1
+ import type { AnalyticsDateParams, AnalyticsPaginationParams, OverviewSummaryResponse, ConversationSummaryResponse, TopicStatisticsResponse, TopicOverviewResponse, UserMetricsResponse, UserMetricsPieChartResponse, UserCohortsOverTimeResponse, TopStudentsResponse, TopicsSummaryResponse, AverageMessagesPerSessionResponse, TopicsStatsArgs, TopicsStatsResponse, UsersStatsResponse, UsersStatsArgs, SessionStatsArgs, SessionStatsResponse, TopicsDetailsStatsResponse, TopicsDetailsStatsArgs, AccessTimeHeatmapResponse, AccessTimeHeatmapArgs, UserDetailsStatsResponse, UserDetailsStatsArgs, FinancialStatsResponse, FinancialStatsArgs, DetailedFinancialStatsResponse, DetailedFinancialStatsArgs, TranscriptsMessagesArgs, TranscriptsMessagesResponse, TranscriptsMessagesDetailsArgs, TranscriptsMessagesDetailsResponse, TranscriptsConversationHeadlineArgs, TranscriptsConversationHeadlineResponse, TimeTrackingResponse, TimeTrackingRequest, ContentAnalyticsResponse, ContentAnalyticsArgs, ContentAnalyticsDetailsResponse, ContentAnalyticsDetailsArgs, LearnerDetailsResponse, LearnerDetailsArgs } from './types';
2
2
  export declare const analyticsApiSlice: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, {
3
3
  getOverviewSummary: import("@reduxjs/toolkit/query").QueryDefinition<AnalyticsDateParams, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", OverviewSummaryResponse, "analyticsApiSlice", unknown>;
4
4
  getConversation: import("@reduxjs/toolkit/query").QueryDefinition<AnalyticsDateParams, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", ConversationSummaryResponse[], "analyticsApiSlice", unknown>;
@@ -27,6 +27,7 @@ export declare const analyticsApiSlice: import("@reduxjs/toolkit/query").Api<imp
27
27
  getTranscriptsConversationHeadline: import("@reduxjs/toolkit/query").QueryDefinition<TranscriptsConversationHeadlineArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", TranscriptsConversationHeadlineResponse, "analyticsApiSlice", unknown>;
28
28
  getContentAnalytics: import("@reduxjs/toolkit/query").QueryDefinition<ContentAnalyticsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", ContentAnalyticsResponse, "analyticsApiSlice", unknown>;
29
29
  getContentAnalyticsDetails: import("@reduxjs/toolkit/query").QueryDefinition<ContentAnalyticsDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", ContentAnalyticsDetailsResponse, "analyticsApiSlice", unknown>;
30
+ getLearnerDetails: import("@reduxjs/toolkit/query").QueryDefinition<LearnerDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", LearnerDetailsResponse, "analyticsApiSlice", unknown>;
30
31
  }, "analyticsApiSlice", "Analytics", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
31
32
  export declare const useGetOverviewSummaryQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
32
33
  status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
@@ -3620,4 +3621,136 @@ export declare const useGetOverviewSummaryQuery: <R extends Record<string, any>
3620
3621
  }) => R) | undefined;
3621
3622
  }) | undefined) => [R][R extends any ? 0 : never] & {
3622
3623
  refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<ContentAnalyticsDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", ContentAnalyticsDetailsResponse, "analyticsApiSlice", unknown>>;
3624
+ }, useGetLearnerDetailsQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
3625
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
3626
+ originalArgs?: undefined | undefined;
3627
+ data?: undefined | undefined;
3628
+ error?: undefined | undefined;
3629
+ requestId?: undefined | undefined;
3630
+ endpointName?: string | undefined;
3631
+ startedTimeStamp?: undefined | undefined;
3632
+ fulfilledTimeStamp?: undefined | undefined;
3633
+ } & {
3634
+ currentData?: LearnerDetailsResponse | undefined;
3635
+ isUninitialized: false;
3636
+ isLoading: false;
3637
+ isFetching: false;
3638
+ isSuccess: false;
3639
+ isError: false;
3640
+ }, "isUninitialized"> & {
3641
+ isUninitialized: true;
3642
+ }) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<LearnerDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", LearnerDetailsResponse, "analyticsApiSlice", unknown>> & {
3643
+ currentData?: LearnerDetailsResponse | undefined;
3644
+ isUninitialized: false;
3645
+ isLoading: false;
3646
+ isFetching: false;
3647
+ isSuccess: false;
3648
+ isError: false;
3649
+ }, {
3650
+ isLoading: true;
3651
+ isFetching: boolean;
3652
+ data: undefined;
3653
+ } | ({
3654
+ isSuccess: true;
3655
+ isFetching: true;
3656
+ error: undefined;
3657
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<LearnerDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", LearnerDetailsResponse, "analyticsApiSlice", unknown>> & {
3658
+ currentData?: LearnerDetailsResponse | undefined;
3659
+ isUninitialized: false;
3660
+ isLoading: false;
3661
+ isFetching: false;
3662
+ isSuccess: false;
3663
+ isError: false;
3664
+ }, "data" | "fulfilledTimeStamp">>) | ({
3665
+ isSuccess: true;
3666
+ isFetching: false;
3667
+ error: undefined;
3668
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<LearnerDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", LearnerDetailsResponse, "analyticsApiSlice", unknown>> & {
3669
+ currentData?: LearnerDetailsResponse | undefined;
3670
+ isUninitialized: false;
3671
+ isLoading: false;
3672
+ isFetching: false;
3673
+ isSuccess: false;
3674
+ isError: false;
3675
+ }, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
3676
+ isError: true;
3677
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<LearnerDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", LearnerDetailsResponse, "analyticsApiSlice", unknown>> & {
3678
+ currentData?: LearnerDetailsResponse | undefined;
3679
+ isUninitialized: false;
3680
+ isLoading: false;
3681
+ isFetching: false;
3682
+ isSuccess: false;
3683
+ isError: false;
3684
+ }, "error">>)>> & {
3685
+ status: import("@reduxjs/toolkit/query").QueryStatus;
3686
+ }>(arg: LearnerDetailsArgs | typeof import("@reduxjs/toolkit/query").skipToken, options?: (import("@reduxjs/toolkit/query").SubscriptionOptions & {
3687
+ skip?: boolean;
3688
+ refetchOnMountOrArgChange?: boolean | number;
3689
+ } & {
3690
+ skip?: boolean;
3691
+ selectFromResult?: ((state: import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
3692
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
3693
+ originalArgs?: undefined | undefined;
3694
+ data?: undefined | undefined;
3695
+ error?: undefined | undefined;
3696
+ requestId?: undefined | undefined;
3697
+ endpointName?: string | undefined;
3698
+ startedTimeStamp?: undefined | undefined;
3699
+ fulfilledTimeStamp?: undefined | undefined;
3700
+ } & {
3701
+ currentData?: LearnerDetailsResponse | undefined;
3702
+ isUninitialized: false;
3703
+ isLoading: false;
3704
+ isFetching: false;
3705
+ isSuccess: false;
3706
+ isError: false;
3707
+ }, "isUninitialized"> & {
3708
+ isUninitialized: true;
3709
+ }) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<LearnerDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", LearnerDetailsResponse, "analyticsApiSlice", unknown>> & {
3710
+ currentData?: LearnerDetailsResponse | undefined;
3711
+ isUninitialized: false;
3712
+ isLoading: false;
3713
+ isFetching: false;
3714
+ isSuccess: false;
3715
+ isError: false;
3716
+ }, {
3717
+ isLoading: true;
3718
+ isFetching: boolean;
3719
+ data: undefined;
3720
+ } | ({
3721
+ isSuccess: true;
3722
+ isFetching: true;
3723
+ error: undefined;
3724
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<LearnerDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", LearnerDetailsResponse, "analyticsApiSlice", unknown>> & {
3725
+ currentData?: LearnerDetailsResponse | undefined;
3726
+ isUninitialized: false;
3727
+ isLoading: false;
3728
+ isFetching: false;
3729
+ isSuccess: false;
3730
+ isError: false;
3731
+ }, "data" | "fulfilledTimeStamp">>) | ({
3732
+ isSuccess: true;
3733
+ isFetching: false;
3734
+ error: undefined;
3735
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<LearnerDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", LearnerDetailsResponse, "analyticsApiSlice", unknown>> & {
3736
+ currentData?: LearnerDetailsResponse | undefined;
3737
+ isUninitialized: false;
3738
+ isLoading: false;
3739
+ isFetching: false;
3740
+ isSuccess: false;
3741
+ isError: false;
3742
+ }, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
3743
+ isError: true;
3744
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<import("@reduxjs/toolkit/query").QueryDefinition<LearnerDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", LearnerDetailsResponse, "analyticsApiSlice", unknown>> & {
3745
+ currentData?: LearnerDetailsResponse | undefined;
3746
+ isUninitialized: false;
3747
+ isLoading: false;
3748
+ isFetching: false;
3749
+ isSuccess: false;
3750
+ isError: false;
3751
+ }, "error">>)>> & {
3752
+ status: import("@reduxjs/toolkit/query").QueryStatus;
3753
+ }) => R) | undefined;
3754
+ }) | undefined) => [R][R extends any ? 0 : never] & {
3755
+ refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<LearnerDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", LearnerDetailsResponse, "analyticsApiSlice", unknown>>;
3623
3756
  };
@@ -111,6 +111,10 @@ export declare const NON_AI_ANALYTICS_ENDPOINTS: {
111
111
  service: SERVICES;
112
112
  path: (content_id: string) => string;
113
113
  };
114
+ GET_LEARNER_DETAILS: {
115
+ service: SERVICES;
116
+ path: (username: string, platform_key: string, metrics: string, course_id?: string, include_edx_progress?: boolean, program_id?: string) => string;
117
+ };
114
118
  };
115
119
  export declare const ANALYTICS_QUERY_KEYS: {
116
120
  GET_OVERVIEW_SUMMARY: () => string[];
@@ -577,3 +577,120 @@ export interface ContentAnalyticsDetailsResponse {
577
577
  pagination: ContentAnalyticsPagination;
578
578
  learners: ContentAnalyticsLearner[];
579
579
  }
580
+ export interface LearnerDetailsArgs {
581
+ username: string;
582
+ platform_key: string;
583
+ metrics: string;
584
+ course_id?: string;
585
+ program_id?: string;
586
+ include_edx_progress?: boolean;
587
+ }
588
+ export interface LearnerDetailsUser {
589
+ user_id: number;
590
+ username: string;
591
+ email: string;
592
+ name: string;
593
+ is_active: boolean;
594
+ last_active: string;
595
+ date_joined: string;
596
+ }
597
+ export interface LearnerContentEnrollment {
598
+ created: string;
599
+ started: string | null;
600
+ ended: string | null;
601
+ active: boolean;
602
+ }
603
+ export interface LearnerContentCompletion {
604
+ completed: boolean;
605
+ completion_percentage: number;
606
+ passed: boolean;
607
+ passed_date: string | null;
608
+ }
609
+ export interface LearnerEdxCompletionSummary {
610
+ complete_count: number;
611
+ incomplete_count: number;
612
+ locked_count: number;
613
+ }
614
+ export interface LearnerEdxCourseGrade {
615
+ letter_grade: string | null;
616
+ percent: number;
617
+ is_passing: boolean;
618
+ }
619
+ export interface LearnerEdxAssignmentPolicy {
620
+ type: string;
621
+ short_label: string;
622
+ weight: number;
623
+ num_total: number;
624
+ num_droppable: number;
625
+ }
626
+ export interface LearnerEdxGradingPolicy {
627
+ assignment_policies: LearnerEdxAssignmentPolicy[];
628
+ grade_range: Record<string, number>;
629
+ }
630
+ export interface LearnerEdxSubsectionScore {
631
+ display_name: string;
632
+ block_key: string;
633
+ format?: string;
634
+ has_graded_assignment: boolean;
635
+ num_points_earned: number;
636
+ num_points_possible: number;
637
+ percent_graded: number;
638
+ problem_scores: Array<Record<string, unknown>>;
639
+ learner_has_access: boolean;
640
+ url: string;
641
+ }
642
+ export interface LearnerEdxSectionScore {
643
+ display_name: string;
644
+ subsections: LearnerEdxSubsectionScore[];
645
+ }
646
+ export interface LearnerEdxCertificateData {
647
+ cert_status: string | null;
648
+ cert_web_view_url: string | null;
649
+ download_url: string | null;
650
+ certificate_available_date: string | null;
651
+ }
652
+ export interface LearnerEdxProgress {
653
+ completion_summary?: LearnerEdxCompletionSummary;
654
+ course_grade?: LearnerEdxCourseGrade;
655
+ enrollment_mode?: string;
656
+ user_has_passing_grade?: boolean;
657
+ certificate_data?: LearnerEdxCertificateData;
658
+ grading_policy?: LearnerEdxGradingPolicy;
659
+ section_scores?: LearnerEdxSectionScore[];
660
+ }
661
+ export interface LearnerCourseDetail {
662
+ course_id: string;
663
+ name: string;
664
+ platform: string;
665
+ enrollment: LearnerContentEnrollment;
666
+ completion: LearnerContentCompletion | null;
667
+ time_spent: string;
668
+ time_spent_secs: number;
669
+ edx_progress?: LearnerEdxProgress | null;
670
+ }
671
+ export interface LearnerProgramDetail {
672
+ program_id: string;
673
+ name: string;
674
+ platform: string;
675
+ enrollment: LearnerContentEnrollment;
676
+ completion: LearnerContentCompletion | null;
677
+ time_spent: string;
678
+ time_spent_secs: number;
679
+ edx_progress?: LearnerEdxProgress | null;
680
+ }
681
+ export interface LearnerTimeSpentSummary {
682
+ courses: unknown[];
683
+ total_time_spent: string;
684
+ total_time_spent_secs: number;
685
+ }
686
+ export interface LearnerDetailsData {
687
+ courses?: LearnerCourseDetail[];
688
+ programs?: LearnerProgramDetail[];
689
+ pathways?: Array<Record<string, unknown>>;
690
+ skills?: Array<Record<string, unknown>>;
691
+ time_spent?: LearnerTimeSpentSummary;
692
+ }
693
+ export interface LearnerDetailsResponse {
694
+ user: LearnerDetailsUser;
695
+ data: LearnerDetailsData;
696
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iblai/data-layer",
3
- "version": "1.8.5",
3
+ "version": "1.8.6",
4
4
  "description": "ibl.ai data layer",
5
5
  "main": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",