@iblai/data-layer 1.13.1 → 1.13.3
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.d.ts +879 -99
- package/dist/index.esm.js +126 -16
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +132 -17
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/src/features/analytics/__tests__/llm-usage.test.d.ts +1 -0
- package/dist/src/features/analytics/api-slice.d.ts +710 -45
- package/dist/src/features/analytics/constants.d.ts +31 -9
- package/dist/src/features/analytics/types.d.ts +164 -53
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -42818,6 +42818,25 @@ const ANALYTICS_ENDPOINTS = {
|
|
|
42818
42818
|
service: exports.SERVICES.DM,
|
|
42819
42819
|
path: (org, userId) => `/api/ai-analytics/orgs/${org}/users/${userId}/overview-summary/`,
|
|
42820
42820
|
},
|
|
42821
|
+
// ClickHouse cost analytics — replacements for the deprecated
|
|
42822
|
+
// `/api/analytics/financial/` family. Date range and pagination travel as
|
|
42823
|
+
// query params on the request, not in these paths.
|
|
42824
|
+
GET_TENANT_COST: {
|
|
42825
|
+
service: exports.SERVICES.DM,
|
|
42826
|
+
path: (org, userId) => `/api/ai-analytics/orgs/${org}/users/${userId}/tenant-cost/`,
|
|
42827
|
+
},
|
|
42828
|
+
GET_AGENT_COST: {
|
|
42829
|
+
service: exports.SERVICES.DM,
|
|
42830
|
+
path: (org, userId, mentorUniqueId) => `/api/ai-analytics/orgs/${org}/users/${userId}/agents/${mentorUniqueId}/cost/`,
|
|
42831
|
+
},
|
|
42832
|
+
GET_MODEL_COSTS: {
|
|
42833
|
+
service: exports.SERVICES.DM,
|
|
42834
|
+
path: (org, userId) => `/api/ai-analytics/orgs/${org}/users/${userId}/costs/model/`,
|
|
42835
|
+
},
|
|
42836
|
+
GET_PER_USER_COSTS: {
|
|
42837
|
+
service: exports.SERVICES.DM,
|
|
42838
|
+
path: (org, userId) => `/api/ai-analytics/orgs/${org}/users/${userId}/costs/peruser/`,
|
|
42839
|
+
},
|
|
42821
42840
|
GET_CONVERSATION: {
|
|
42822
42841
|
service: exports.SERVICES.DM,
|
|
42823
42842
|
path: (org, userId) => `/api/ai-analytics/orgs/${org}/users/${userId}/conversation/`,
|
|
@@ -42894,14 +42913,6 @@ const NON_AI_ANALYTICS_ENDPOINTS = {
|
|
|
42894
42913
|
service: exports.SERVICES.DM,
|
|
42895
42914
|
path: (platform_key, mentor_unique_id, date_filter, start_date, end_date) => `/api/analytics/ratings/?${date_filter ? `date_filter=${date_filter}&` : ''}platform_key=${platform_key}${mentor_unique_id ? `&mentor_unique_id=${mentor_unique_id}` : ''}${start_date ? `&start_date=${start_date}` : ''}${end_date ? `&end_date=${end_date}` : ''}`,
|
|
42896
42915
|
},
|
|
42897
|
-
GET_FINANCIAL_STATS: {
|
|
42898
|
-
service: exports.SERVICES.DM,
|
|
42899
|
-
path: (args) => `/api/analytics/financial/?metric=${args.metric}&${args.all_time ? `all_time=${args.all_time}&` : ''}${args.date_filter ? `date_filter=${args.date_filter}&` : ''}platform_key=${args.platform_key}${args.mentor_unique_id ? `&mentor_unique_id=${args.mentor_unique_id}` : ''}${args.start_date ? `&start_date=${args.start_date}` : ''}${args.end_date ? `&end_date=${args.end_date}` : ''}${buildUsergroupIdsQuery(args.usergroup_ids)}`,
|
|
42900
|
-
},
|
|
42901
|
-
GET_DETAILED_FINANCIAL_STATS: {
|
|
42902
|
-
service: exports.SERVICES.DM,
|
|
42903
|
-
path: (args) => `/api/analytics/financial/details/?${args.metric ? `metric=${args.metric}&` : ''}${args.metrics ? `metrics=${args.metrics}&` : ''}group_by=${args.group_by}&date_filter=${args.date_filter}&platform_key=${args.platform_key}${args.mentor_unique_id ? `&mentor_unique_id=${args.mentor_unique_id}` : ''}${args.start_date ? `&start_date=${args.start_date}` : ''}${args.end_date ? `&end_date=${args.end_date}` : ''}${args.page ? `&page=${args.page}` : ''}${args.limit ? `&limit=${args.limit}` : ''}${args.search ? `&search=${args.search}` : ''}${buildUsergroupIdsQuery(args.usergroup_ids)}`,
|
|
42904
|
-
},
|
|
42905
42916
|
GET_TRANSCRIPTS_MESSAGES: {
|
|
42906
42917
|
service: exports.SERVICES.DM,
|
|
42907
42918
|
path: (args) => `/api/analytics/messages/?platform_key=${args.platform_key}${args.mentor_unique_id ? `&mentor_unique_id=${args.mentor_unique_id}` : ''}${args.search ? `&search=${args.search}` : ''}${args.topic ? `&topic=${args.topic}` : ''}${args.page ? `&page=${args.page}` : ''}${args.limit ? `&limit=${args.limit}` : ''}${buildUsergroupIdsQuery(args.usergroup_ids)}`,
|
|
@@ -42930,6 +42941,25 @@ const NON_AI_ANALYTICS_ENDPOINTS = {
|
|
|
42930
42941
|
service: exports.SERVICES.DM,
|
|
42931
42942
|
path: (username, platform_key, metrics, course_id, include_edx_progress, program_id) => `/api/analytics/learner/details?username=${username}&platform_key=${platform_key}&metrics=${metrics}${course_id ? `&course_id=${encodeURIComponent(course_id)}` : ''}${program_id ? `&program_id=${encodeURIComponent(program_id)}` : ''}${include_edx_progress !== undefined ? `&include_edx_progress=${include_edx_progress}` : ''}`,
|
|
42932
42943
|
},
|
|
42944
|
+
/**
|
|
42945
|
+
* LLM cost/usage analytics (Langfuse proxy; renamed from
|
|
42946
|
+
* `/api/analytics/langfuse/`). One endpoint, three resources — the caller
|
|
42947
|
+
* picks with `resource` and the typed args in `types.ts` keep unsupported
|
|
42948
|
+
* parameter combinations unrepresentable.
|
|
42949
|
+
*/
|
|
42950
|
+
GET_LLM_USAGE: {
|
|
42951
|
+
service: exports.SERVICES.DM,
|
|
42952
|
+
path: (resource, args) => {
|
|
42953
|
+
const params = new URLSearchParams();
|
|
42954
|
+
params.set('resource', resource);
|
|
42955
|
+
for (const [key, value] of Object.entries(args)) {
|
|
42956
|
+
if (value === undefined || value === '')
|
|
42957
|
+
continue;
|
|
42958
|
+
params.set(key, Array.isArray(value) ? value.join(',') : String(value));
|
|
42959
|
+
}
|
|
42960
|
+
return `/api/analytics/llm-usage/?${params.toString()}`;
|
|
42961
|
+
},
|
|
42962
|
+
},
|
|
42933
42963
|
};
|
|
42934
42964
|
const ANALYTICS_REDUCER_PATH = 'analyticsApiSlice';
|
|
42935
42965
|
|
|
@@ -43176,17 +43206,70 @@ const analyticsApiSlice = react.createApi({
|
|
|
43176
43206
|
});
|
|
43177
43207
|
},
|
|
43178
43208
|
}),
|
|
43179
|
-
|
|
43209
|
+
// --- ClickHouse cost analytics -----------------------------------------
|
|
43210
|
+
// Replacements for the deprecated `/api/analytics/financial/` family.
|
|
43211
|
+
// These endpoints have no `date_filter` shorthand and no built-in period
|
|
43212
|
+
// comparison; callers pass explicit YYYY-MM-DD ranges and compute deltas
|
|
43213
|
+
// from a second query over the previous window.
|
|
43214
|
+
getTenantCost: builder.query({
|
|
43215
|
+
query: (args) => ({
|
|
43216
|
+
url: ANALYTICS_ENDPOINTS.GET_TENANT_COST.path(args.org, args.userId),
|
|
43217
|
+
service: ANALYTICS_ENDPOINTS.GET_TENANT_COST.service,
|
|
43218
|
+
params: { start_date: args.start_date, end_date: args.end_date },
|
|
43219
|
+
}),
|
|
43220
|
+
}),
|
|
43221
|
+
getAgentCost: builder.query({
|
|
43222
|
+
query: (args) => ({
|
|
43223
|
+
url: ANALYTICS_ENDPOINTS.GET_AGENT_COST.path(args.org, args.userId, args.mentor_unique_id),
|
|
43224
|
+
service: ANALYTICS_ENDPOINTS.GET_AGENT_COST.service,
|
|
43225
|
+
params: { start_date: args.start_date, end_date: args.end_date },
|
|
43226
|
+
}),
|
|
43227
|
+
}),
|
|
43228
|
+
getModelCosts: builder.query({
|
|
43180
43229
|
query: (args) => ({
|
|
43181
|
-
url:
|
|
43182
|
-
service:
|
|
43230
|
+
url: ANALYTICS_ENDPOINTS.GET_MODEL_COSTS.path(args.org, args.userId),
|
|
43231
|
+
service: ANALYTICS_ENDPOINTS.GET_MODEL_COSTS.service,
|
|
43232
|
+
params: { start_date: args.start_date, end_date: args.end_date },
|
|
43183
43233
|
}),
|
|
43234
|
+
// The backend has shipped this both as a bare array and wrapped in a
|
|
43235
|
+
// `data`/`models`/`results` envelope; normalize so the UI sees one shape.
|
|
43236
|
+
transformResponse: (raw) => {
|
|
43237
|
+
var _a, _b, _c;
|
|
43238
|
+
const rows = Array.isArray(raw)
|
|
43239
|
+
? raw
|
|
43240
|
+
: ((_c = (_b = (_a = raw === null || raw === void 0 ? void 0 : raw.data) !== null && _a !== void 0 ? _a : raw === null || raw === void 0 ? void 0 : raw.models) !== null && _b !== void 0 ? _b : raw === null || raw === void 0 ? void 0 : raw.results) !== null && _c !== void 0 ? _c : []);
|
|
43241
|
+
return (Array.isArray(rows) ? rows : []).map((row) => {
|
|
43242
|
+
var _a;
|
|
43243
|
+
return ({
|
|
43244
|
+
model: String((_a = row.model) !== null && _a !== void 0 ? _a : ''),
|
|
43245
|
+
total_cost: Number(row.total_cost) || 0,
|
|
43246
|
+
});
|
|
43247
|
+
});
|
|
43248
|
+
},
|
|
43184
43249
|
}),
|
|
43185
|
-
|
|
43250
|
+
getPerUserCosts: builder.query({
|
|
43186
43251
|
query: (args) => ({
|
|
43187
|
-
url:
|
|
43188
|
-
service:
|
|
43252
|
+
url: ANALYTICS_ENDPOINTS.GET_PER_USER_COSTS.path(args.org, args.userId),
|
|
43253
|
+
service: ANALYTICS_ENDPOINTS.GET_PER_USER_COSTS.service,
|
|
43254
|
+
params: {
|
|
43255
|
+
start_date: args.start_date,
|
|
43256
|
+
end_date: args.end_date,
|
|
43257
|
+
...(args.limit !== undefined ? { limit: args.limit } : {}),
|
|
43258
|
+
...(args.offset !== undefined ? { offset: args.offset } : {}),
|
|
43259
|
+
},
|
|
43189
43260
|
}),
|
|
43261
|
+
transformResponse: (raw) => {
|
|
43262
|
+
var _a, _b, _c, _d, _e;
|
|
43263
|
+
const record = (raw !== null && raw !== void 0 ? raw : {});
|
|
43264
|
+
const rows = Array.isArray(raw)
|
|
43265
|
+
? raw
|
|
43266
|
+
: ((_c = (_b = (_a = record.results) !== null && _a !== void 0 ? _a : record.users) !== null && _b !== void 0 ? _b : record.data) !== null && _c !== void 0 ? _c : []);
|
|
43267
|
+
const count = (_e = (_d = record.count) !== null && _d !== void 0 ? _d : record.total_records) !== null && _e !== void 0 ? _e : record.total;
|
|
43268
|
+
return {
|
|
43269
|
+
results: (Array.isArray(rows) ? rows : []),
|
|
43270
|
+
...(typeof count === 'number' ? { count } : {}),
|
|
43271
|
+
};
|
|
43272
|
+
},
|
|
43190
43273
|
}),
|
|
43191
43274
|
getTranscriptsMessages: builder.query({
|
|
43192
43275
|
query: (args) => ({
|
|
@@ -43234,9 +43317,36 @@ const analyticsApiSlice = react.createApi({
|
|
|
43234
43317
|
service: NON_AI_ANALYTICS_ENDPOINTS.GET_LEARNER_DETAILS.service,
|
|
43235
43318
|
}),
|
|
43236
43319
|
}),
|
|
43320
|
+
// LLM usage (Langfuse proxy). Three endpoints over one path so each
|
|
43321
|
+
// resource keeps its own arg/response types — see the types for what each
|
|
43322
|
+
// resource deliberately cannot be asked for.
|
|
43323
|
+
getLlmUsageMetrics: builder.query({
|
|
43324
|
+
query: (args) => {
|
|
43325
|
+
var _a;
|
|
43326
|
+
return ({
|
|
43327
|
+
url: NON_AI_ANALYTICS_ENDPOINTS.GET_LLM_USAGE.path('metrics', {
|
|
43328
|
+
...args,
|
|
43329
|
+
measures: (_a = args.measures) === null || _a === void 0 ? void 0 : _a.join(','),
|
|
43330
|
+
}),
|
|
43331
|
+
service: NON_AI_ANALYTICS_ENDPOINTS.GET_LLM_USAGE.service,
|
|
43332
|
+
});
|
|
43333
|
+
},
|
|
43334
|
+
}),
|
|
43335
|
+
getLlmUsageTraces: builder.query({
|
|
43336
|
+
query: (args) => ({
|
|
43337
|
+
url: NON_AI_ANALYTICS_ENDPOINTS.GET_LLM_USAGE.path('traces', { ...args }),
|
|
43338
|
+
service: NON_AI_ANALYTICS_ENDPOINTS.GET_LLM_USAGE.service,
|
|
43339
|
+
}),
|
|
43340
|
+
}),
|
|
43341
|
+
getLlmUsageObservations: builder.query({
|
|
43342
|
+
query: (args) => ({
|
|
43343
|
+
url: NON_AI_ANALYTICS_ENDPOINTS.GET_LLM_USAGE.path('observations', { ...args }),
|
|
43344
|
+
service: NON_AI_ANALYTICS_ENDPOINTS.GET_LLM_USAGE.service,
|
|
43345
|
+
}),
|
|
43346
|
+
}),
|
|
43237
43347
|
}),
|
|
43238
43348
|
});
|
|
43239
|
-
const { useGetOverviewSummaryQuery, useGetConversationQuery, useGetMostDiscussedTopicsQuery, useGetAverageMessagesPerSessionQuery, useGetRegisteredUsersTrendQuery, useGetUserMetricsQuery, useGetUserMetricsPieChartQuery, useGetUserCohortsOverTimeQuery, useGetTopStudentsByChatMessagesQuery, useGetTopicOverviewQuery, useGetTopicsSummaryQuery, useGetTopicStatisticsQuery, useGetTopicsStatsQuery, useGetUsersStatsQuery, useGetSessionStatsQuery, useGetTopicsDetailsStatsQuery, useGetAccessTimeHeatmapQuery, useGetUserDetailsStatsQuery, useGetAverageRatingQuery,
|
|
43349
|
+
const { useGetOverviewSummaryQuery, useGetConversationQuery, useGetMostDiscussedTopicsQuery, useGetAverageMessagesPerSessionQuery, useGetRegisteredUsersTrendQuery, useGetUserMetricsQuery, useGetUserMetricsPieChartQuery, useGetUserCohortsOverTimeQuery, useGetTopStudentsByChatMessagesQuery, useGetTopicOverviewQuery, useGetTopicsSummaryQuery, useGetTopicStatisticsQuery, useGetTopicsStatsQuery, useGetUsersStatsQuery, useGetSessionStatsQuery, useGetTopicsDetailsStatsQuery, useGetAccessTimeHeatmapQuery, useGetUserDetailsStatsQuery, useGetAverageRatingQuery, useGetTenantCostQuery, useGetAgentCostQuery, useGetModelCostsQuery, useGetPerUserCostsQuery, useGetTranscriptsMessagesQuery, useGetTranscriptsMessagesDetailsQuery, useTimeTrackingMutation, useGetTranscriptsConversationHeadlineQuery, useGetContentAnalyticsQuery, useGetContentAnalyticsDetailsQuery, useGetLearnerDetailsQuery, useGetLlmUsageMetricsQuery, useGetLlmUsageTracesQuery, useGetLlmUsageObservationsQuery, } = analyticsApiSlice;
|
|
43240
43350
|
|
|
43241
43351
|
const useLazyGetDownloadReportFromURLQuery = () => {
|
|
43242
43352
|
const fetchReportBlob = react$1.useCallback(({ url }) => {
|
|
@@ -48740,6 +48850,7 @@ exports.useGetAccountBillingInfoQuery = useGetAccountBillingInfoQuery;
|
|
|
48740
48850
|
exports.useGetAdminProjectDetailsQuery = useGetAdminProjectDetailsQuery;
|
|
48741
48851
|
exports.useGetAdminProjectsQuery = useGetAdminProjectsQuery;
|
|
48742
48852
|
exports.useGetAgentConfigQuery = useGetAgentConfigQuery;
|
|
48853
|
+
exports.useGetAgentCostQuery = useGetAgentCostQuery;
|
|
48743
48854
|
exports.useGetAgentSkillQuery = useGetAgentSkillQuery;
|
|
48744
48855
|
exports.useGetAgentSkillResourceQuery = useGetAgentSkillResourceQuery;
|
|
48745
48856
|
exports.useGetAgentSkillResourcesQuery = useGetAgentSkillResourcesQuery;
|
|
@@ -48802,7 +48913,6 @@ exports.useGetCustomMentorsQuery = useGetCustomMentorsQuery;
|
|
|
48802
48913
|
exports.useGetDatasetsQuery = useGetDatasetsQuery;
|
|
48803
48914
|
exports.useGetDepartmentMemberCheckQuery = useGetDepartmentMemberCheckQuery;
|
|
48804
48915
|
exports.useGetDesiredSkillsQuery = useGetDesiredSkillsQuery;
|
|
48805
|
-
exports.useGetDetailedFinancialStatsQuery = useGetDetailedFinancialStatsQuery;
|
|
48806
48916
|
exports.useGetDisclaimersQuery = useGetDisclaimersQuery;
|
|
48807
48917
|
exports.useGetEdxSSOTokenQuery = useGetEdxSSOTokenQuery;
|
|
48808
48918
|
exports.useGetEnrollmentCourseSearchQuery = useGetEnrollmentCourseSearchQuery;
|
|
@@ -48812,7 +48922,6 @@ exports.useGetEvalTaskStatusQuery = useGetEvalTaskStatusQuery;
|
|
|
48812
48922
|
exports.useGetExamInfoQuery = useGetExamInfoQuery;
|
|
48813
48923
|
exports.useGetExternalMappingQuery = useGetExternalMappingQuery;
|
|
48814
48924
|
exports.useGetFileUploadUrlMutation = useGetFileUploadUrlMutation;
|
|
48815
|
-
exports.useGetFinancialStatsQuery = useGetFinancialStatsQuery;
|
|
48816
48925
|
exports.useGetFreeUsageCountQuery = useGetFreeUsageCountQuery;
|
|
48817
48926
|
exports.useGetGlobalMemoriesQuery = useGetGlobalMemoriesQuery;
|
|
48818
48927
|
exports.useGetGradeResultQuery = useGetGradeResultQuery;
|
|
@@ -48824,6 +48933,9 @@ exports.useGetIssuersQuery = useGetIssuersQuery;
|
|
|
48824
48933
|
exports.useGetItemSubscriptionQuery = useGetItemSubscriptionQuery;
|
|
48825
48934
|
exports.useGetLLMCredentialsQuery = useGetLLMCredentialsQuery;
|
|
48826
48935
|
exports.useGetLearnerDetailsQuery = useGetLearnerDetailsQuery;
|
|
48936
|
+
exports.useGetLlmUsageMetricsQuery = useGetLlmUsageMetricsQuery;
|
|
48937
|
+
exports.useGetLlmUsageObservationsQuery = useGetLlmUsageObservationsQuery;
|
|
48938
|
+
exports.useGetLlmUsageTracesQuery = useGetLlmUsageTracesQuery;
|
|
48827
48939
|
exports.useGetLlmsQuery = useGetLlmsQuery;
|
|
48828
48940
|
exports.useGetLtiKeyDetailQuery = useGetLtiKeyDetailQuery;
|
|
48829
48941
|
exports.useGetLtiKeysQuery = useGetLtiKeysQuery;
|
|
@@ -48853,6 +48965,7 @@ exports.useGetMentorSkillAssignmentsQuery = useGetMentorSkillAssignmentsQuery;
|
|
|
48853
48965
|
exports.useGetMentorSummariesQuery = useGetMentorSummariesQuery;
|
|
48854
48966
|
exports.useGetMentorsQuery = useGetMentorsQuery;
|
|
48855
48967
|
exports.useGetMfeContextQuery = useGetMfeContextQuery;
|
|
48968
|
+
exports.useGetModelCostsQuery = useGetModelCostsQuery;
|
|
48856
48969
|
exports.useGetModerationLogsQuery = useGetModerationLogsQuery;
|
|
48857
48970
|
exports.useGetMostDiscussedTopicsQuery = useGetMostDiscussedTopicsQuery;
|
|
48858
48971
|
exports.useGetMySubscriptionsQuery = useGetMySubscriptionsQuery;
|
|
@@ -48868,6 +48981,7 @@ exports.useGetPathwayListQuery = useGetPathwayListQuery;
|
|
|
48868
48981
|
exports.useGetPaywallConfigQuery = useGetPaywallConfigQuery;
|
|
48869
48982
|
exports.useGetPerLearnerActivityQuery = useGetPerLearnerActivityQuery;
|
|
48870
48983
|
exports.useGetPerLearnerInfoQuery = useGetPerLearnerInfoQuery;
|
|
48984
|
+
exports.useGetPerUserCostsQuery = useGetPerUserCostsQuery;
|
|
48871
48985
|
exports.useGetPeriodicAgentLogsListQuery = useGetPeriodicAgentLogsListQuery;
|
|
48872
48986
|
exports.useGetPeriodicAgentLogsQuery = useGetPeriodicAgentLogsQuery;
|
|
48873
48987
|
exports.useGetPeriodicAgentQuery = useGetPeriodicAgentQuery;
|
|
@@ -48934,6 +49048,7 @@ exports.useGetSupportTicketsQuery = useGetSupportTicketsQuery;
|
|
|
48934
49048
|
exports.useGetTemplateDetailsQuery = useGetTemplateDetailsQuery;
|
|
48935
49049
|
exports.useGetTemplatesQuery = useGetTemplatesQuery;
|
|
48936
49050
|
exports.useGetTenantChatPrivacyConfigQuery = useGetTenantChatPrivacyConfigQuery;
|
|
49051
|
+
exports.useGetTenantCostQuery = useGetTenantCostQuery;
|
|
48937
49052
|
exports.useGetTenantMetadataQuery = useGetTenantMetadataQuery;
|
|
48938
49053
|
exports.useGetTenantSpendCapQuery = useGetTenantSpendCapQuery;
|
|
48939
49054
|
exports.useGetToolsQuery = useGetToolsQuery;
|