@iblai/web-utils 1.1.7 → 1.1.9

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.
@@ -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 } 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 } 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>;
@@ -25,6 +25,8 @@ export declare const analyticsApiSlice: import("@reduxjs/toolkit/query").Api<imp
25
25
  getTranscriptsMessagesDetails: import("@reduxjs/toolkit/query").QueryDefinition<TranscriptsMessagesDetailsArgs, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", TranscriptsMessagesDetailsResponse, "analyticsApiSlice", unknown>;
26
26
  timeTracking: import("@reduxjs/toolkit/query").MutationDefinition<TimeTrackingRequest, import("@reduxjs/toolkit/query").BaseQueryFn<import("../utils").CustomQueryArgs, unknown, import("../utils").ExtendedFetchBaseQueryError, Record<string, unknown>, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, "Analytics", TimeTrackingResponse, "analyticsApiSlice", unknown>;
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
+ 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
+ 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>;
28
30
  }, "analyticsApiSlice", "Analytics", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
29
31
  export declare const useGetOverviewSummaryQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
30
32
  status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
@@ -3354,4 +3356,268 @@ export declare const useGetOverviewSummaryQuery: <R extends Record<string, any>
3354
3356
  }) => R) | undefined;
3355
3357
  }) | undefined) => [R][R extends any ? 0 : never] & {
3356
3358
  refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<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>>;
3359
+ }, useGetContentAnalyticsQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
3360
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
3361
+ originalArgs?: undefined | undefined;
3362
+ data?: undefined | undefined;
3363
+ error?: undefined | undefined;
3364
+ requestId?: undefined | undefined;
3365
+ endpointName?: string | undefined;
3366
+ startedTimeStamp?: undefined | undefined;
3367
+ fulfilledTimeStamp?: undefined | undefined;
3368
+ } & {
3369
+ currentData?: ContentAnalyticsResponse | undefined;
3370
+ isUninitialized: false;
3371
+ isLoading: false;
3372
+ isFetching: false;
3373
+ isSuccess: false;
3374
+ isError: false;
3375
+ }, "isUninitialized"> & {
3376
+ isUninitialized: true;
3377
+ }) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3378
+ currentData?: ContentAnalyticsResponse | undefined;
3379
+ isUninitialized: false;
3380
+ isLoading: false;
3381
+ isFetching: false;
3382
+ isSuccess: false;
3383
+ isError: false;
3384
+ }, {
3385
+ isLoading: true;
3386
+ isFetching: boolean;
3387
+ data: undefined;
3388
+ } | ({
3389
+ isSuccess: true;
3390
+ isFetching: true;
3391
+ error: undefined;
3392
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3393
+ currentData?: ContentAnalyticsResponse | undefined;
3394
+ isUninitialized: false;
3395
+ isLoading: false;
3396
+ isFetching: false;
3397
+ isSuccess: false;
3398
+ isError: false;
3399
+ }, "data" | "fulfilledTimeStamp">>) | ({
3400
+ isSuccess: true;
3401
+ isFetching: false;
3402
+ error: undefined;
3403
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3404
+ currentData?: ContentAnalyticsResponse | undefined;
3405
+ isUninitialized: false;
3406
+ isLoading: false;
3407
+ isFetching: false;
3408
+ isSuccess: false;
3409
+ isError: false;
3410
+ }, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
3411
+ isError: true;
3412
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3413
+ currentData?: ContentAnalyticsResponse | undefined;
3414
+ isUninitialized: false;
3415
+ isLoading: false;
3416
+ isFetching: false;
3417
+ isSuccess: false;
3418
+ isError: false;
3419
+ }, "error">>)>> & {
3420
+ status: import("@reduxjs/toolkit/query").QueryStatus;
3421
+ }>(arg: ContentAnalyticsArgs | typeof import("@reduxjs/toolkit/query").skipToken, options?: (import("@reduxjs/toolkit/query").SubscriptionOptions & {
3422
+ skip?: boolean;
3423
+ refetchOnMountOrArgChange?: boolean | number;
3424
+ } & {
3425
+ skip?: boolean;
3426
+ selectFromResult?: ((state: import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
3427
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
3428
+ originalArgs?: undefined | undefined;
3429
+ data?: undefined | undefined;
3430
+ error?: undefined | undefined;
3431
+ requestId?: undefined | undefined;
3432
+ endpointName?: string | undefined;
3433
+ startedTimeStamp?: undefined | undefined;
3434
+ fulfilledTimeStamp?: undefined | undefined;
3435
+ } & {
3436
+ currentData?: ContentAnalyticsResponse | undefined;
3437
+ isUninitialized: false;
3438
+ isLoading: false;
3439
+ isFetching: false;
3440
+ isSuccess: false;
3441
+ isError: false;
3442
+ }, "isUninitialized"> & {
3443
+ isUninitialized: true;
3444
+ }) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3445
+ currentData?: ContentAnalyticsResponse | undefined;
3446
+ isUninitialized: false;
3447
+ isLoading: false;
3448
+ isFetching: false;
3449
+ isSuccess: false;
3450
+ isError: false;
3451
+ }, {
3452
+ isLoading: true;
3453
+ isFetching: boolean;
3454
+ data: undefined;
3455
+ } | ({
3456
+ isSuccess: true;
3457
+ isFetching: true;
3458
+ error: undefined;
3459
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3460
+ currentData?: ContentAnalyticsResponse | undefined;
3461
+ isUninitialized: false;
3462
+ isLoading: false;
3463
+ isFetching: false;
3464
+ isSuccess: false;
3465
+ isError: false;
3466
+ }, "data" | "fulfilledTimeStamp">>) | ({
3467
+ isSuccess: true;
3468
+ isFetching: false;
3469
+ error: undefined;
3470
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3471
+ currentData?: ContentAnalyticsResponse | undefined;
3472
+ isUninitialized: false;
3473
+ isLoading: false;
3474
+ isFetching: false;
3475
+ isSuccess: false;
3476
+ isError: false;
3477
+ }, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
3478
+ isError: true;
3479
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3480
+ currentData?: ContentAnalyticsResponse | undefined;
3481
+ isUninitialized: false;
3482
+ isLoading: false;
3483
+ isFetching: false;
3484
+ isSuccess: false;
3485
+ isError: false;
3486
+ }, "error">>)>> & {
3487
+ status: import("@reduxjs/toolkit/query").QueryStatus;
3488
+ }) => R) | undefined;
3489
+ }) | undefined) => [R][R extends any ? 0 : never] & {
3490
+ refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<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>>;
3491
+ }, useGetContentAnalyticsDetailsQuery: <R extends Record<string, any> = import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
3492
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
3493
+ originalArgs?: undefined | undefined;
3494
+ data?: undefined | undefined;
3495
+ error?: undefined | undefined;
3496
+ requestId?: undefined | undefined;
3497
+ endpointName?: string | undefined;
3498
+ startedTimeStamp?: undefined | undefined;
3499
+ fulfilledTimeStamp?: undefined | undefined;
3500
+ } & {
3501
+ currentData?: ContentAnalyticsDetailsResponse | undefined;
3502
+ isUninitialized: false;
3503
+ isLoading: false;
3504
+ isFetching: false;
3505
+ isSuccess: false;
3506
+ isError: false;
3507
+ }, "isUninitialized"> & {
3508
+ isUninitialized: true;
3509
+ }) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3510
+ currentData?: ContentAnalyticsDetailsResponse | undefined;
3511
+ isUninitialized: false;
3512
+ isLoading: false;
3513
+ isFetching: false;
3514
+ isSuccess: false;
3515
+ isError: false;
3516
+ }, {
3517
+ isLoading: true;
3518
+ isFetching: boolean;
3519
+ data: undefined;
3520
+ } | ({
3521
+ isSuccess: true;
3522
+ isFetching: true;
3523
+ error: undefined;
3524
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3525
+ currentData?: ContentAnalyticsDetailsResponse | undefined;
3526
+ isUninitialized: false;
3527
+ isLoading: false;
3528
+ isFetching: false;
3529
+ isSuccess: false;
3530
+ isError: false;
3531
+ }, "data" | "fulfilledTimeStamp">>) | ({
3532
+ isSuccess: true;
3533
+ isFetching: false;
3534
+ error: undefined;
3535
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3536
+ currentData?: ContentAnalyticsDetailsResponse | undefined;
3537
+ isUninitialized: false;
3538
+ isLoading: false;
3539
+ isFetching: false;
3540
+ isSuccess: false;
3541
+ isError: false;
3542
+ }, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
3543
+ isError: true;
3544
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3545
+ currentData?: ContentAnalyticsDetailsResponse | undefined;
3546
+ isUninitialized: false;
3547
+ isLoading: false;
3548
+ isFetching: false;
3549
+ isSuccess: false;
3550
+ isError: false;
3551
+ }, "error">>)>> & {
3552
+ status: import("@reduxjs/toolkit/query").QueryStatus;
3553
+ }>(arg: ContentAnalyticsDetailsArgs | typeof import("@reduxjs/toolkit/query").skipToken, options?: (import("@reduxjs/toolkit/query").SubscriptionOptions & {
3554
+ skip?: boolean;
3555
+ refetchOnMountOrArgChange?: boolean | number;
3556
+ } & {
3557
+ skip?: boolean;
3558
+ selectFromResult?: ((state: import("@reduxjs/toolkit/query").TSHelpersId<(Omit<{
3559
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
3560
+ originalArgs?: undefined | undefined;
3561
+ data?: undefined | undefined;
3562
+ error?: undefined | undefined;
3563
+ requestId?: undefined | undefined;
3564
+ endpointName?: string | undefined;
3565
+ startedTimeStamp?: undefined | undefined;
3566
+ fulfilledTimeStamp?: undefined | undefined;
3567
+ } & {
3568
+ currentData?: ContentAnalyticsDetailsResponse | undefined;
3569
+ isUninitialized: false;
3570
+ isLoading: false;
3571
+ isFetching: false;
3572
+ isSuccess: false;
3573
+ isError: false;
3574
+ }, "isUninitialized"> & {
3575
+ isUninitialized: true;
3576
+ }) | import("@reduxjs/toolkit/query").TSHelpersOverride<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3577
+ currentData?: ContentAnalyticsDetailsResponse | undefined;
3578
+ isUninitialized: false;
3579
+ isLoading: false;
3580
+ isFetching: false;
3581
+ isSuccess: false;
3582
+ isError: false;
3583
+ }, {
3584
+ isLoading: true;
3585
+ isFetching: boolean;
3586
+ data: undefined;
3587
+ } | ({
3588
+ isSuccess: true;
3589
+ isFetching: true;
3590
+ error: undefined;
3591
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3592
+ currentData?: ContentAnalyticsDetailsResponse | undefined;
3593
+ isUninitialized: false;
3594
+ isLoading: false;
3595
+ isFetching: false;
3596
+ isSuccess: false;
3597
+ isError: false;
3598
+ }, "data" | "fulfilledTimeStamp">>) | ({
3599
+ isSuccess: true;
3600
+ isFetching: false;
3601
+ error: undefined;
3602
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3603
+ currentData?: ContentAnalyticsDetailsResponse | undefined;
3604
+ isUninitialized: false;
3605
+ isLoading: false;
3606
+ isFetching: false;
3607
+ isSuccess: false;
3608
+ isError: false;
3609
+ }, "data" | "fulfilledTimeStamp" | "currentData">>) | ({
3610
+ isError: true;
3611
+ } & Required<Pick<import("@reduxjs/toolkit/query").QuerySubState<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>> & {
3612
+ currentData?: ContentAnalyticsDetailsResponse | undefined;
3613
+ isUninitialized: false;
3614
+ isLoading: false;
3615
+ isFetching: false;
3616
+ isSuccess: false;
3617
+ isError: false;
3618
+ }, "error">>)>> & {
3619
+ status: import("@reduxjs/toolkit/query").QueryStatus;
3620
+ }) => R) | undefined;
3621
+ }) | undefined) => [R][R extends any ? 0 : never] & {
3622
+ 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>>;
3357
3623
  };
@@ -103,6 +103,14 @@ export declare const NON_AI_ANALYTICS_ENDPOINTS: {
103
103
  service: SERVICES;
104
104
  path: (args: TranscriptsConversationHeadlineArgs) => string;
105
105
  };
106
+ GET_CONTENT_ANALYTICS: {
107
+ service: SERVICES;
108
+ path: () => string;
109
+ };
110
+ GET_CONTENT_ANALYTICS_DETAILS: {
111
+ service: SERVICES;
112
+ path: (content_id: string) => string;
113
+ };
106
114
  };
107
115
  export declare const ANALYTICS_QUERY_KEYS: {
108
116
  GET_OVERVIEW_SUMMARY: () => string[];
@@ -433,3 +433,147 @@ export interface TranscriptsConversationHeadlineResponse {
433
433
  value: number;
434
434
  }>;
435
435
  }
436
+ export interface ContentAnalyticsArgs {
437
+ metric: string;
438
+ date_filter?: string;
439
+ start_date?: string;
440
+ end_date?: string;
441
+ include_overtime?: boolean;
442
+ limit?: number;
443
+ page?: number;
444
+ platform_key?: string;
445
+ mentor_unique_id?: string;
446
+ }
447
+ export interface ContentAnalyticsTotals {
448
+ total_learners: number;
449
+ total_enrollments: number;
450
+ total_time_spent: number;
451
+ courses: number;
452
+ active_courses: number;
453
+ platform_courses: number;
454
+ external_courses: number;
455
+ programs: number;
456
+ active_programs: number;
457
+ platform_programs: number;
458
+ external_programs: number;
459
+ pathways: number;
460
+ active_pathways: number;
461
+ platform_pathways: number;
462
+ external_pathways: number;
463
+ skills: number;
464
+ active_skills: number;
465
+ platform_skills: number;
466
+ external_skills: number;
467
+ associated_courses: number;
468
+ learners_with_skills: number;
469
+ }
470
+ export interface ContentAnalyticsAverages {
471
+ completion_rate: number;
472
+ average_rating: number;
473
+ enrollments_per_course: number;
474
+ enrollments_per_program: number;
475
+ enrollments_per_pathway: number;
476
+ courses_per_skill: number;
477
+ time_per_learner: number;
478
+ }
479
+ export interface ContentAnalyticsSummary {
480
+ totals: ContentAnalyticsTotals;
481
+ averages: ContentAnalyticsAverages;
482
+ overtime: Array<{
483
+ date: string;
484
+ value: number;
485
+ }>;
486
+ }
487
+ export interface ContentAnalyticsPagination {
488
+ count: number;
489
+ next: string | null;
490
+ previous: string | null;
491
+ current_page: number;
492
+ total_pages: number;
493
+ }
494
+ export interface ContentAnalyticsItem {
495
+ id: string;
496
+ name: string;
497
+ slug: string;
498
+ platform: string;
499
+ external: boolean;
500
+ analytics: {
501
+ enrollments: number;
502
+ active_enrollments: number;
503
+ completion_rate: number;
504
+ avg_rating: number;
505
+ rating_count: number;
506
+ associated_courses: number;
507
+ learners_count: number;
508
+ total_time_spent: number;
509
+ avg_time_per_learner: number;
510
+ };
511
+ instructor: string;
512
+ category: string;
513
+ duration: string;
514
+ enabled: boolean;
515
+ created: string;
516
+ updated: string;
517
+ metadata: string;
518
+ }
519
+ export interface ContentAnalyticsResponse {
520
+ metric: string;
521
+ summary: ContentAnalyticsSummary;
522
+ pagination: ContentAnalyticsPagination;
523
+ results: ContentAnalyticsItem[];
524
+ }
525
+ export interface ContentAnalyticsDetailsArgs {
526
+ content_id: string;
527
+ metric: string;
528
+ date_filter?: string;
529
+ start_date?: string;
530
+ end_date?: string;
531
+ include_overtime?: boolean;
532
+ limit?: number;
533
+ page?: number;
534
+ platform_key?: string;
535
+ mentor_unique_id?: string;
536
+ search?: string;
537
+ time_metric?: string;
538
+ }
539
+ export interface ContentAnalyticsContentInfo {
540
+ id: string;
541
+ name: string;
542
+ type: string;
543
+ slug: string;
544
+ platform: string;
545
+ external: boolean;
546
+ metadata: Record<string, string>;
547
+ }
548
+ export interface ContentAnalyticsDetailsSummary {
549
+ totals: Record<string, number>;
550
+ averages: Record<string, number>;
551
+ time_series: {
552
+ metric: string;
553
+ interval: string;
554
+ data: Array<{
555
+ period: string;
556
+ value: number;
557
+ average: number;
558
+ }>;
559
+ };
560
+ }
561
+ export interface ContentAnalyticsLearner {
562
+ user_id: number;
563
+ username: string;
564
+ email: string;
565
+ name: string;
566
+ enrollment_date: string;
567
+ completion_status: string;
568
+ completion_percentage: number;
569
+ last_activity: string;
570
+ rating: number;
571
+ review: string;
572
+ details: Record<string, string>;
573
+ }
574
+ export interface ContentAnalyticsDetailsResponse {
575
+ content_info: ContentAnalyticsContentInfo;
576
+ summary: ContentAnalyticsDetailsSummary;
577
+ pagination: ContentAnalyticsPagination;
578
+ learners: ContentAnalyticsLearner[];
579
+ }
@@ -79,6 +79,9 @@ export * from './features/disclaimers/types';
79
79
  export * from './features/search/ai-search-api-slice';
80
80
  export * from './features/search/types';
81
81
  export * from './features/search/constants';
82
+ export * from './features/projects/api-slice';
83
+ export * from './features/projects/constants';
84
+ export type { Project, ProjectsFetchResponse, GetProjectsParams, GetProjectsArgs, GetProjectDetailsArgs, CreateProjectData, CreateProjectArgs, UpdateProjectData, UpdateProjectArgs, DeleteProjectArgs, } from './features/projects/types';
82
85
  export * from './reducers';
83
86
  export * from './utils';
84
87
  export type { LLMResponse, MentorSettings } from '@iblai/iblai-api';
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ import { OpUnitType } from 'dayjs';
8
8
  import duration from 'dayjs/plugin/duration';
9
9
  import { ChatStatus as ChatStatus$1 } from '@web-utils/features';
10
10
  import { Error402MessageData as Error402MessageData$1, Tenant as Tenant$3 } from '@web-utils/types';
11
+ import * as redux from 'redux';
11
12
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
12
13
  import { Slice } from '@reduxjs/toolkit';
13
14
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -808,10 +809,10 @@ declare function handleLogout(options: HandleLogoutOptions): void;
808
809
 
809
810
  declare const isReactNative: () => boolean;
810
811
  declare const isWeb: () => boolean;
811
- declare const isNode: () => any;
812
+ declare const isNode: () => string | false;
812
813
  declare const isExpo: () => any;
813
814
  declare const isTauri: () => boolean;
814
- declare const getPlatform: () => "react-native" | "web" | "node" | "unknown";
815
+ declare const getPlatform: () => "web" | "react-native" | "node" | "unknown";
815
816
  declare const safeRequire: (moduleName: string) => any;
816
817
  declare const getNextNavigation: () => any;
817
818
 
@@ -868,7 +869,7 @@ type ChatSliceState = {
868
869
  lastArtifactContentFlushTime: number;
869
870
  };
870
871
  declare const chatActions: _reduxjs_toolkit.CaseReducerActions<_reduxjs_toolkit.SliceCaseReducers<ChatSliceState>, string>;
871
- declare const chatSliceReducerShared: Reducer<State>;
872
+ declare const chatSliceReducerShared: redux.Reducer<ChatSliceState>;
872
873
  declare const selectChats: (state: {
873
874
  chatSliceShared: ChatSliceState;
874
875
  }) => ChatState;
@@ -1037,7 +1038,7 @@ declare const updateFileUrl: _reduxjs_toolkit.ActionCreatorWithoutPayload<`${str
1037
1038
  declare const updateFileMetadata: _reduxjs_toolkit.ActionCreatorWithoutPayload<`${string}/${string}`> | _reduxjs_toolkit.ActionCreatorWithPayload<any, `${string}/${string}`> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, never, never> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, never, any> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, any, never> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, any, any>;
1038
1039
  declare const updateFileRetryCount: _reduxjs_toolkit.ActionCreatorWithoutPayload<`${string}/${string}`> | _reduxjs_toolkit.ActionCreatorWithPayload<any, `${string}/${string}`> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, never, never> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, never, any> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, any, never> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, any, any>;
1039
1040
  declare const updateFileUrlFromWebSocket: _reduxjs_toolkit.ActionCreatorWithoutPayload<`${string}/${string}`> | _reduxjs_toolkit.ActionCreatorWithPayload<any, `${string}/${string}`> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, never, never> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, never, any> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, any, never> | _reduxjs_toolkit.ActionCreatorWithPreparedPayload<any[], any, `${string}/${string}`, any, any>;
1040
- declare const filesReducer: Reducer<State>;
1041
+ declare const filesReducer: redux.Reducer<FilesState>;
1041
1042
 
1042
1043
  /**
1043
1044
  * Combines multiple CSV data objects by merging rows based on a common column.
@@ -1506,7 +1507,7 @@ type Props$2 = {
1506
1507
  * 4. Handles redirects to auth SPA when needed
1507
1508
  * 5. Manages public route access state
1508
1509
  */
1509
- declare function AuthProvider({ children, fallback, middleware, onAuthSuccess, onAuthFailure, redirectToAuthSpa, hasNonExpiredAuthToken, username, pathname, skipAuthCheck, storageService, token, enableStorageSync, skip, }: Props$2): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | null | undefined;
1510
+ declare function AuthProvider({ children, fallback, middleware, onAuthSuccess, onAuthFailure, redirectToAuthSpa, hasNonExpiredAuthToken, username, pathname, skipAuthCheck, storageService, token, enableStorageSync, skip, }: Props$2): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
1510
1511
 
1511
1512
  /**
1512
1513
  * Props for the MentorProvider component
@@ -1539,7 +1540,7 @@ type Props$1 = {
1539
1540
  * 3. Manages redirection based on mentor availability
1540
1541
  * 4. Integrates with tenant context for access control
1541
1542
  */
1542
- declare function MentorProvider({ children, fallback, onAuthSuccess, onAuthFailure, redirectToAuthSpa, redirectToMentor, onLoadMentorsPermissions, redirectToNoMentorsPage, redirectToCreateMentor, username, isAdmin, mainTenantKey, requestedMentorId, handleMentorNotFound, forceDetermineMentor, onComplete, skip, }: Props$1): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | null | undefined;
1543
+ declare function MentorProvider({ children, fallback, onAuthSuccess, onAuthFailure, redirectToAuthSpa, redirectToMentor, onLoadMentorsPermissions, redirectToNoMentorsPage, redirectToCreateMentor, username, isAdmin, mainTenantKey, requestedMentorId, handleMentorNotFound, forceDetermineMentor, onComplete, skip, }: Props$1): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
1543
1544
 
1544
1545
  /**
1545
1546
  * Type definition for the tenant context
@@ -1601,7 +1602,7 @@ type Props = {
1601
1602
  * 4. Handles tenant-specific domain redirects
1602
1603
  * 5. Maintains tenant access state
1603
1604
  */
1604
- declare function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, currentTenant, requestedTenant, saveCurrentTenant, saveUserTenants, handleTenantSwitch, saveVisitingTenant, removeVisitingTenant, saveUserTokens, saveTenant, onAutoJoinUserToTenant, redirectToAuthSpa, username, isIframed, setUseMentorProvider, skip, onLoadPlatformPermissions, }: Props): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | null | undefined;
1605
+ declare function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, currentTenant, requestedTenant, saveCurrentTenant, saveUserTenants, handleTenantSwitch, saveVisitingTenant, removeVisitingTenant, saveUserTokens, saveTenant, onAutoJoinUserToTenant, redirectToAuthSpa, username, isIframed, setUseMentorProvider, skip, onLoadPlatformPermissions, }: Props): string | number | bigint | boolean | Iterable<React__default.ReactNode> | Promise<string | number | bigint | boolean | React__default.ReactPortal | React__default.ReactElement<unknown, string | React__default.JSXElementConstructor<any>> | Iterable<React__default.ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
1605
1606
 
1606
1607
  /**
1607
1608
  * Chat area size constants
package/dist/index.esm.js CHANGED
@@ -1,4 +1,3 @@
1
- 'use client';
2
1
  import * as React from 'react';
3
2
  import React__default, { useState, useRef, useEffect, createContext, useContext, useCallback, useDebugValue, useMemo, useLayoutEffect } from 'react';
4
3
  import { useRenewSubscriptionMutation, useLazyGetUserAppsQuery, useCreateStripeCustomerPortalMutation, useLazyGetFreeUsageCountQuery, useGetTenantMetadataQuery, useLazyGetStripeContextQuery, useUpdateUserTrialStatusMutation, useLazyGetAccountBillingInfoQuery, useLazyRefreshJwtTokenQuery, useLazyGetUserTenantsQuery, useJoinTenantMutation, useLazyGetTenantMetadataQuery, useGetAppTokensMutation, useGetCustomDomainsQuery, useGetRbacPermissionsMutation, useLazyGetMentorsQuery, useLazySeedMentorsQuery, useLazyGetMentorPublicSettingsQuery, useLazyGetRecentlyAccessedMentorsQuery, useCreateSessionIdMutation, useLazyGetSessionIdQuery, useLazyGetSharedSessionIdQuery, useEditSessionMutation, useGetToolsQuery, useGetPromptsSearchQuery, useUpdateUserAccountMutation, useGetUserMetadataQuery, useUploadProfileImageMutation, useRemoveProfileImageMutation } from '@iblai/data-layer';
@@ -1200,10 +1199,13 @@ const getPlatform = () => {
1200
1199
  }
1201
1200
  return "unknown";
1202
1201
  };
1202
+ // Safe access to platform-specific APIs
1203
1203
  const safeRequire = (moduleName) => {
1204
1204
  try {
1205
- if (typeof __non_webpack_require__ !== "undefined") {
1206
- return __non_webpack_require__(moduleName);
1205
+ // eslint-disable-next-line no-undef, @typescript-eslint/no-require-imports
1206
+ if (typeof require !== "undefined") {
1207
+ // eslint-disable-next-line no-undef, @typescript-eslint/no-require-imports
1208
+ return require(moduleName);
1207
1209
  }
1208
1210
  }
1209
1211
  catch (error) {
@@ -15217,6 +15219,14 @@ const NON_AI_ANALYTICS_ENDPOINTS = {
15217
15219
  service: SERVICES.DM,
15218
15220
  path: (args) => `/api/analytics/conversations?platform_key=${args.platform_key}${args.mentor_unique_id ? `&mentor_unique_id=${args.mentor_unique_id}` : ''}&metric=${args.metric}${args.date_filter ? `&date_filter=${args.date_filter}` : ''}${args.start_date ? `&start_date=${args.start_date}` : ''}${args.end_date ? `&end_date=${args.end_date}` : ''}`,
15219
15221
  },
15222
+ GET_CONTENT_ANALYTICS: {
15223
+ service: SERVICES.DM,
15224
+ path: () => `/api/analytics/content/`,
15225
+ },
15226
+ GET_CONTENT_ANALYTICS_DETAILS: {
15227
+ service: SERVICES.DM,
15228
+ path: (content_id) => `/api/analytics/content/details/${content_id}/`,
15229
+ },
15220
15230
  };
15221
15231
  const ANALYTICS_REDUCER_PATH = 'analyticsApiSlice';
15222
15232
 
@@ -15501,6 +15511,20 @@ createApi({
15501
15511
  service: NON_AI_ANALYTICS_ENDPOINTS.GET_TRANSCRIPTS_CONVERSATION_HEADLINE.service,
15502
15512
  }),
15503
15513
  }),
15514
+ getContentAnalytics: builder.query({
15515
+ query: (args) => ({
15516
+ url: NON_AI_ANALYTICS_ENDPOINTS.GET_CONTENT_ANALYTICS.path(),
15517
+ service: NON_AI_ANALYTICS_ENDPOINTS.GET_CONTENT_ANALYTICS.service,
15518
+ params: args,
15519
+ }),
15520
+ }),
15521
+ getContentAnalyticsDetails: builder.query({
15522
+ query: (args) => ({
15523
+ url: NON_AI_ANALYTICS_ENDPOINTS.GET_CONTENT_ANALYTICS_DETAILS.path(args.content_id),
15524
+ service: NON_AI_ANALYTICS_ENDPOINTS.GET_CONTENT_ANALYTICS_DETAILS.service,
15525
+ params: args,
15526
+ }),
15527
+ }),
15504
15528
  }),
15505
15529
  });
15506
15530