@iblai/iblai-js 2.9.9 → 2.10.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.
@@ -2,7 +2,7 @@ import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import React__default, { useState, useEffect, forwardRef, createElement as createElement$3, useLayoutEffect, createContext, useContext, useMemo, useReducer, useRef, useImperativeHandle, useCallback, isValidElement, Children, PureComponent, cloneElement, Component as Component$1, useId as useId$2, useDebugValue, lazy, Suspense } from 'react';
4
4
  import * as dataLayer from '@iblai/data-layer';
5
- import { useGetUserMetadataQuery, useGetUserMetadataEdxQuery, useUpdateUserMetadataMutation, useUpdateUserMetadataEdxMutation, useUploadProfileImageMutation, useResetPasswordMutation, useSelfRetireMutation, useCreateUserInstitutionMutation, useGetUserInstitutionsQuery, useCreateUserEducationMutation, useUpdateUserEducationMutation, useDeleteUserEducationMutation, useGetUserEducationQuery, useCreateUserCompanyMutation, useGetUserCompaniesQuery, useCreateUserExperienceMutation, useUpdateUserExperienceMutation, useDeleteUserExperienceMutation, useGetUserExperienceQuery, useGetUserResumeQuery, useCreateUserResumeMutation, useGetMySubscriptionsQuery, useGetItemSubscriptionQuery, useCancelSubscriptionMutation, useGetLearnerDetailsQuery, useGetUserEnrolledCoursesQuery, useGetUserEnrolledProgramsQuery, useGetUserCatalogPathwaysQuery, useGetUsersAsAssertionsQuery, useGetUserEarnedSkillsQuery, useGetUserReportedSkillsQuery, useGetUserDesiredSkillsQuery, useCreateGlobalMemoryMutation, useUpdateGlobalMemoryMutation, useUpdateMentorMemoryMutation, useGetMemsearchStatusQuery, useGetUserMemorySettingsQuery, useUpdateUserMemorySettingsMutation, useGetGlobalMemoriesQuery, useGetAllMentorMemoriesQuery, useDeleteGlobalMemoryMutation, useDeleteMentorMemoryMutation, useGetAiSearchMentorsQuery, useStarMentorMutation, useUnstarMentorMutation, useGetUserChatHistoryReportsQuery, USER_CHAT_HISTORY_REPORT_ACTIVE_STATES, useCreateUserChatHistoryReportMutation, useLazyGetDownloadReportFromURLQuery, useGetUserChatHistoryReportStatusQuery, userChatHistoryApiSlice, USER_CHAT_HISTORY_QUERY_KEYS, useGetUserChatHistoryQuery, useGetUserChatHistoryFilterQuery, useGetMentorsQuery, useGetUserChatHistorySessionQuery, useInviteUserMutation, usePlatformInvitationsQuery, useCreateCatalogInvitationCourseBulkMutation, useGetCatalogInvitationsCourseQuery, useLazyPlatformUsersQuery, useLazyPlatformUserGroupsQuery, useGetPersonnalizedSearchQuery, useCreateCatalogInvitationProgramBulkMutation, useGetCatalogInvitationsProgramQuery, useUpdateUserRoleMutation, useUpdateUserStatusMutation, useUpdatePlatformUserRoleWithPoliciesMutation, usePlatformUsersQuery, useGetAccessibleUsersQuery, isPoliciesResponse, platformApiSlice, featureTags, useLazyGetRbacTeamsAccessListQuery, useCreateRbacTeamsAccessMutation, useGetRbacGroupsQuery, usePlatformUserGroupsQuery, useCreateRbacGroupMutation, useUpdateRbacGroupMutation, useDeleteRbacGroupMutation, useCreatePlatformUserGroupMutation, useUpdatePlatformUserGroupMutation, useDeletePlatformUserGroupMutation, useGetRbacGroupDetailsQuery, useGetPlatformUserGroupDetailsQuery, useGetRbacPermissionsMutation, useGetRbacRolesQuery, useCreateRbacRoleMutation, useUpdateRbacRoleMutation, useDeleteRbacRoleMutation, useGetRbacRoleDetailsQuery, useGetRbacActionsDefinitionQuery, useGetRbacResourceDiscoveryQuery, useGetRbacResourceListQuery, useGetRbacPoliciesQuery, useCreateRbacPolicyMutation, useUpdateRbacPolicyMutation, useDeleteRbacPolicyMutation, useGetRbacPolicyDetailsQuery, useGetWatchedGroupsQuery, useCreateWatchedGroupMutation, useUpdateWatchedGroupMutation, useDeleteWatchedGroupMutation, useAddWatchedUserMutation, useRemoveWatchedUserMutation, useAddWatcherMutation, useUpdateWatcherMutation, useDeleteWatcherMutation, useGetWatchedUsersQuery, useGetWatchersQuery, WATCHER_NOTIFICATION_EVENTS, WATCHER_NOTIFICATION_EVENT_LABELS, useGetApplicationFormsQuery, useGetApplicationFormDetailQuery, useCreateApplicationFormMutation, useUpdateApplicationFormMutation, useGetApplicationAdminDetailQuery, useInviteApplicationCandidateMutation, useLazyGetApplicationAttachmentFileQuery, useCreateApplicationWaiverMutation, useDeleteApplicationWaiverMutation, useSubmitApplicationOverrideMutation, useUpdateApplicationPlacementMutation, useDeleteApplicationCourseAssignmentMutation, useCreateApplicationNoteMutation, useUpdateApplicationNoteMutation, useDeleteApplicationNoteMutation, useTransitionApplicationMutation, useLinkApplicationCandidateMutation, useCreateApplicationPlacementsMutation, useGetCustomMentorsQuery, useCreateApplicationCourseAssignmentsMutation, useGetApplicationBlocksQuery, useDeleteApplicationBlockMutation, useGetApplicationsPipelineStatsQuery, useGetApplicationsPipelineQuery, useGetTenantMetadataQuery, useUpdateTenantMetadataMutation, useLazyGetTenantMetadataQuery, useDeleteApiKeyMutation, useGetApiKeyQuery, useGetApiKeyFieldPermissionsQuery, useUpdateApiKeyMutation, useGetApiKeysQuery, unwrapApiTokenList, useCreateApiKeyMutation, useCreateLLMCredentialMutation, useGetCredentialsSchemaQuery, useGetMaskedLLMCredentialsQuery, useGetLlmsQuery, useDeleteIntegrationCredentialMutation, useDeleteCredentialMutation, useCreateIntegrationCredentialMutation, useGetIntegrationCredentialsSchemaQuery, useGetMaskedIntegrationCredentialsQuery, useGetAccountBillingInfoQuery, useUpdateAutoRechargeInfoMutation, useTriggerAutoRechargeMutation, useGetAgentSpendCapQuery, useGetTenantSpendCapQuery, useListAgentUserSpendCapsQuery, useUpsertAgentSpendCapMutation, useDeleteAgentSpendCapMutation, useUpsertTenantSpendCapMutation, useDeleteTenantSpendCapMutation, useUpsertUserSpendCapMutation, useDeleteUserSpendCapMutation, useGetFinancialStatsQuery, useListAgentSpendCapsQuery, useGetCreditTransactionsQuery, useCreateStripeCustomerPortalMutation, useSetPlatformConfigurationsMutation, useGetPlatformConfigurationsQuery, useUpdatePlatformMembershipMutation, useGetPlatformMembershipQuery, useGetCustomDomainsQuery, useCreateCustomDomainMutation, useDeleteCustomDomainMutation, useGetStudentMentorCreationStatusQuery, useSetStudentMentorCreationStatusMutation, coreApiSlice, recommendationPromptTypeEnum, useGetRecommendedPromptsListQuery, useCreateRecommendedPromptMutation, useUpdateRecommendedPromptMutation, useDeleteRecommendedPromptMutation, useLazyGetPublicPlatformImageAssetFileUrlQuery, useCreatePlatformImageAssetMutation, useGetProviderConfigQuery, useCreateProviderConfigMutation, useDeleteProviderConfigMutation, useGetExternalMappingQuery, useGetCredentialsListQuery, useCreateExternalMappingMutation, useDeleteExternalMappingMutation, useGetMemsearchConfigQuery, useUpdateMemsearchConfigMutation, useGetStripeConnectStatusQuery, useStartStripeConnectOnboardingMutation, useLazyGetStripeConnectDashboardQuery, useListPaywallsQuery, useListPricesQuery, useCreatePriceMutation, useUpdatePriceMutation, useDeletePriceMutation, useGetPaywallConfigQuery, useEnablePaywallMutation, useUpdatePaywallMutation, useGetMentorMemoriesListQuery, useGetMemoryCategoriesAdminQuery, useCreateMentorMemoryMutation, useLazyGetCourseMetaDataQuery, useLazyGetCourseCompletionOutlinesQuery, useLazyGetCourseEligibilityQuery, useLazyGetEdxSSOTokenQuery, useCreateCourseEnrollmentMutation, useCreateStripeCheckoutSessionMutation, useLazyGetCourseProgressQuery, useLazyGetCourseCompletionQuery, useUpdateExamAttemptMutation, useStartExamMutation, useLazyGetExamInfoQuery, useGetAgentSkillResourcesQuery, useCreateAgentSkillResourceMutation, useUpdateAgentSkillResourceMutation, useUploadAgentSkillResourceAssetMutation, useDeleteAgentSkillResourceMutation, useGetMentorSkillAssignmentsQuery, useGetAgentSkillsQuery, useCreateMentorSkillAssignmentMutation, useUpdateMentorSkillAssignmentMutation, useDeleteMentorSkillAssignmentMutation, useCreateAgentSkillMutation, useUpdateAgentSkillMutation, useDeleteAgentSkillMutation, filterSlashSkills, useGetMentorSkillAssignmentsInfiniteQuery, MENTOR_SKILL_ASSIGNMENTS_PAGE_SIZE, useUpdateUserProjectMutation, useGetTrainingDocumentsQuery, useGetVectorDocumentsQuery, useLazyGetConnectedServiceAuthUrlQuery, useCreateUserProjectMutation, useDeleteUserProjectMutation, useGetUserProjectDetailsQuery, useEditTrainingDocumentMutation, useAddTrainingDocumentMutation, useLazyGetCredentialsQuery, useGetMentorSettingsQuery, useEditMentorMutation, useUploadLightLogoMutation, useUploadDarkLogoMutation, useUpdatePlatformInfoMutation, LOGO_ENDPOINTS, useCreateEvalDatasetMutation, useAddEvalDatasetItemsMutation, useUploadEvalDatasetCsvMutation, useDeleteEvalDatasetItemMutation, useListEvalDatasetItemsQuery, evalTotalPages, useListEvalDatasetsQuery, useGetUserProjectsQuery, useCreateSessionIdMutation, useGetMentorCategoriesQuery, useGetTenantChatPrivacyConfigQuery as useGetTenantChatPrivacyConfigQuery$1, useGetCallConfigurationsQuery, useCreateCallConfigurationMutation, useUpdateCallConfigurationMutation, chatPrivacyApiSlice, useDeleteMentorMutation, useForkMentorMutation, useGetToolsQuery, useLazyGetMCPServersQuery, useOauthFindMutation, useLazyStartOAuthFlowQuery, useCreateMCPServerMutation, usePartialUpdateMCPServerMutation, useCreateMCPServerConnectionMutation, usePatchMCPServerConnectionMutation, useGetConnectedServicesQuery, useGetMCPServersQuery, useGetMCPServerConnectionsQuery, useUpdateMCPServerMutation, useDeleteMCPServerMutation, useEditMentorJsonMutation, useDisconnectServiceMutation, useGetPromptCategoriesQuery, PRIVACY_ACTIONS, PRIVACY_ENTITY_TYPES, useGetVoicesQuery, useGetVoiceQuery, isBaseAgentMentor, useGetGradeResultQuery, useOverrideGradeResultMutation, useGetChatHistoryFilterQuery, useListGradeResultsQuery, useGetMentorGraderConfigurationQuery, useListGraderCriteriaQuery, useCreateMentorGraderConfigurationMutation, useUpdateMentorGraderConfigurationMutation, useCreateGraderCriterionMutation, useUpdateGraderCriterionMutation, useDeleteGraderCriterionMutation, useGetSpendCapStatusQuery, useGetMentorPublicSettingsQuery, useGetChatHistoryQuery, useGetMentorSummariesQuery, useGetConversationMemoriesQuery, useGetSupportTicketsQuery, useGetSupportTicketMessagesQuery, useCreateSupportTicketMessageMutation, usePatchSupportTicketMutation, useCloseSupportTicketMutation, useCreateLtiMentorMutation, useUpdateLtiMentorMutation, useGetLtiMentorsQuery, useDeleteLtiMentorMutation, useCreateLtiKeyMutation, useUpdateLtiKeyMutation, useDeleteLtiKeyMutation, useGetLtiKeysQuery, useCreateLtiToolMutation, useUpdateLtiToolMutation, useGetLtiToolsQuery, useGetPlatformInfoQuery, useCreatePromptMutation, useGetPromptsSearchQuery, useUpdatePromptMutation, useCreateRedirectTokenMutation, useGetShareableLinkQuery, useCreateShareableLinkMutation, useUpdateShareableLinkMutation, useCreateDisclaimerMutation, useUpdateDisclaimerMutation, useGetDisclaimersQuery, useUpdateRbacMentorAccessMutation, useGetRbacMentorAccessListQuery, useStartEvalRunMutation, useEvaluateEvalRunMutation, useGetEvalRunQuery, useDeleteEvalScoreMutation, useListEvalRunJudgesQuery, useCreateEvalScoreMutation, useDeleteEvalRunMutation, useExportEvalRunMutation, useListEvalRunsQuery, useLazyGetEvalRunQuery, evaluationsApiSlice, EVALUATIONS_TAGS, useGetPersonnalizedMentorsQuery, useCreateCallCredentialsMutation, useGetGuidedPromptsQuery, useUpdateChatSessionSharedMutation, useUpdateMessageFeedbackMutation, useLazyGetPromptsSearchQuery, useLazyGetGuidedPromptsQuery, useGetPublicMentorsQuery, useGetPeriodicAgentsQuery, useGetPeriodicAgentLogsListQuery, useCreatePeriodicAgentMutation, useDeletePeriodicAgentMutation, useCreateMemoryCategoryMutation, useUpdateMemoryCategoryMutation, useDeleteMemoryCategoryMutation, useDeletePromptMutation, useDeleteTrainingDocumentMutation, useGetTrainingDocumentRetrainScheduleQuery, useCreateTrainingDocumentRetrainScheduleMutation, useUpdateArtifactMutation, useLazyGetArtifactVersionQuery, useLazyListArtifactVersionsQuery, useSetCurrentVersionMutation, useListArtifactVersionsQuery, useLazyGetArtifactQuery, useLazyListArtifactsQuery, useEditSessionMutation } from '@iblai/data-layer';
5
+ import { useGetUserMetadataQuery, useGetUserMetadataEdxQuery, useUpdateUserMetadataMutation, useUpdateUserMetadataEdxMutation, useUploadProfileImageMutation, useResetPasswordMutation, useSelfRetireMutation, useCreateUserInstitutionMutation, useGetUserInstitutionsQuery, useCreateUserEducationMutation, useUpdateUserEducationMutation, useDeleteUserEducationMutation, useGetUserEducationQuery, useCreateUserCompanyMutation, useGetUserCompaniesQuery, useCreateUserExperienceMutation, useUpdateUserExperienceMutation, useDeleteUserExperienceMutation, useGetUserExperienceQuery, useGetUserResumeQuery, useCreateUserResumeMutation, useGetMySubscriptionsQuery, useGetItemSubscriptionQuery, useCancelSubscriptionMutation, useGetLearnerDetailsQuery, useGetUserEnrolledCoursesQuery, useGetUserEnrolledProgramsQuery, useGetUserCatalogPathwaysQuery, useGetUsersAsAssertionsQuery, useGetUserEarnedSkillsQuery, useGetUserReportedSkillsQuery, useGetUserDesiredSkillsQuery, useCreateGlobalMemoryMutation, useUpdateGlobalMemoryMutation, useUpdateMentorMemoryMutation, useGetMemsearchStatusQuery, useGetUserMemorySettingsQuery, useUpdateUserMemorySettingsMutation, useGetGlobalMemoriesQuery, useGetAllMentorMemoriesQuery, useDeleteGlobalMemoryMutation, useDeleteMentorMemoryMutation, useGetAiSearchMentorsQuery, useStarMentorMutation, useUnstarMentorMutation, useGetUserChatHistoryReportsQuery, USER_CHAT_HISTORY_REPORT_ACTIVE_STATES, useCreateUserChatHistoryReportMutation, useLazyGetDownloadReportFromURLQuery, useGetUserChatHistoryReportStatusQuery, userChatHistoryApiSlice, USER_CHAT_HISTORY_QUERY_KEYS, useGetUserChatHistoryQuery, useGetUserChatHistoryFilterQuery, useGetMentorsQuery, useGetUserChatHistorySessionQuery, useInviteUserMutation, usePlatformInvitationsQuery, useCreateCatalogInvitationCourseBulkMutation, useGetCatalogInvitationsCourseQuery, useLazyPlatformUsersQuery, useLazyPlatformUserGroupsQuery, useGetPersonnalizedSearchQuery, useCreateCatalogInvitationProgramBulkMutation, useGetCatalogInvitationsProgramQuery, useUpdateUserRoleMutation, useUpdateUserStatusMutation, useUpdatePlatformUserRoleWithPoliciesMutation, usePlatformUsersQuery, useGetAccessibleUsersQuery, isPoliciesResponse, platformApiSlice, featureTags, useLazyGetRbacTeamsAccessListQuery, useCreateRbacTeamsAccessMutation, useGetRbacGroupsQuery, usePlatformUserGroupsQuery, useCreateRbacGroupMutation, useUpdateRbacGroupMutation, useDeleteRbacGroupMutation, useCreatePlatformUserGroupMutation, useUpdatePlatformUserGroupMutation, useDeletePlatformUserGroupMutation, useGetRbacGroupDetailsQuery, useGetPlatformUserGroupDetailsQuery, useGetRbacPermissionsMutation, useGetRbacRolesQuery, useCreateRbacRoleMutation, useUpdateRbacRoleMutation, useDeleteRbacRoleMutation, useGetRbacRoleDetailsQuery, useGetRbacActionsDefinitionQuery, useGetRbacResourceDiscoveryQuery, useGetRbacResourceListQuery, useGetRbacPoliciesQuery, useCreateRbacPolicyMutation, useUpdateRbacPolicyMutation, useDeleteRbacPolicyMutation, useGetRbacPolicyDetailsQuery, useGetWatchedGroupsQuery, useCreateWatchedGroupMutation, useUpdateWatchedGroupMutation, useDeleteWatchedGroupMutation, useAddWatchedUserMutation, useRemoveWatchedUserMutation, useAddWatcherMutation, useUpdateWatcherMutation, useDeleteWatcherMutation, useGetWatchedUsersQuery, useGetWatchersQuery, WATCHER_NOTIFICATION_EVENTS, WATCHER_NOTIFICATION_EVENT_LABELS, useGetApplicationFormsQuery, useGetApplicationFormDetailQuery, useCreateApplicationFormMutation, useUpdateApplicationFormMutation, useGetApplicationAdminDetailQuery, useInviteApplicationCandidateMutation, useLazyGetApplicationAttachmentFileQuery, useCreateApplicationWaiverMutation, useDeleteApplicationWaiverMutation, useSubmitApplicationOverrideMutation, useUpdateApplicationPlacementMutation, useDeleteApplicationCourseAssignmentMutation, useCreateApplicationNoteMutation, useUpdateApplicationNoteMutation, useDeleteApplicationNoteMutation, useTransitionApplicationMutation, useLinkApplicationCandidateMutation, useCreateApplicationPlacementsMutation, useGetCustomMentorsQuery, useCreateApplicationCourseAssignmentsMutation, useGetApplicationBlocksQuery, useDeleteApplicationBlockMutation, useGetApplicationsPipelineStatsQuery, useGetApplicationsPipelineQuery, useGetTenantMetadataQuery, useUpdateTenantMetadataMutation, useLazyGetTenantMetadataQuery, useDeleteApiKeyMutation, useGetApiKeyQuery, useGetApiKeyFieldPermissionsQuery, useUpdateApiKeyMutation, useGetApiKeysQuery, unwrapApiTokenList, useCreateApiKeyMutation, useCreateLLMCredentialMutation, useGetCredentialsSchemaQuery, useGetMaskedLLMCredentialsQuery, useGetLlmsQuery, useDeleteIntegrationCredentialMutation, useDeleteCredentialMutation, useCreateIntegrationCredentialMutation, useGetIntegrationCredentialsSchemaQuery, useGetMaskedIntegrationCredentialsQuery, useGetAccountBillingInfoQuery, useUpdateAutoRechargeInfoMutation, useTriggerAutoRechargeMutation, useGetAgentSpendCapQuery, useGetTenantSpendCapQuery, useListAgentUserSpendCapsQuery, useUpsertAgentSpendCapMutation, useDeleteAgentSpendCapMutation, useUpsertTenantSpendCapMutation, useDeleteTenantSpendCapMutation, useUpsertUserSpendCapMutation, useDeleteUserSpendCapMutation, useGetLlmUsageMetricsQuery, useListAgentSpendCapsQuery, useGetCreditTransactionsQuery, useCreateStripeCustomerPortalMutation, useSetPlatformConfigurationsMutation, useGetPlatformConfigurationsQuery, useUpdatePlatformMembershipMutation, useGetPlatformMembershipQuery, useGetCustomDomainsQuery, useCreateCustomDomainMutation, useDeleteCustomDomainMutation, useGetStudentMentorCreationStatusQuery, useSetStudentMentorCreationStatusMutation, coreApiSlice, recommendationPromptTypeEnum, useGetRecommendedPromptsListQuery, useCreateRecommendedPromptMutation, useUpdateRecommendedPromptMutation, useDeleteRecommendedPromptMutation, useLazyGetPublicPlatformImageAssetFileUrlQuery, useCreatePlatformImageAssetMutation, useGetProviderConfigQuery, useCreateProviderConfigMutation, useDeleteProviderConfigMutation, useGetExternalMappingQuery, useGetCredentialsListQuery, useCreateExternalMappingMutation, useDeleteExternalMappingMutation, useGetMemsearchConfigQuery, useUpdateMemsearchConfigMutation, useGetStripeConnectStatusQuery, useStartStripeConnectOnboardingMutation, useLazyGetStripeConnectDashboardQuery, useListPaywallsQuery, useListPricesQuery, useCreatePriceMutation, useUpdatePriceMutation, useDeletePriceMutation, useGetPaywallConfigQuery, useEnablePaywallMutation, useUpdatePaywallMutation, useGetMentorMemoriesListQuery, useGetMemoryCategoriesAdminQuery, useCreateMentorMemoryMutation, useLazyGetCourseMetaDataQuery, useLazyGetCourseCompletionOutlinesQuery, useLazyGetCourseEligibilityQuery, useLazyGetEdxSSOTokenQuery, useCreateCourseEnrollmentMutation, useCreateStripeCheckoutSessionMutation, useLazyGetCourseProgressQuery, useLazyGetCourseCompletionQuery, useUpdateExamAttemptMutation, useStartExamMutation, useLazyGetExamInfoQuery, useGetAgentSkillResourcesQuery, useCreateAgentSkillResourceMutation, useUpdateAgentSkillResourceMutation, useUploadAgentSkillResourceAssetMutation, useDeleteAgentSkillResourceMutation, useGetMentorSkillAssignmentsQuery, useGetAgentSkillsQuery, useCreateMentorSkillAssignmentMutation, useUpdateMentorSkillAssignmentMutation, useDeleteMentorSkillAssignmentMutation, useCreateAgentSkillMutation, useUpdateAgentSkillMutation, useDeleteAgentSkillMutation, filterSlashSkills, useGetMentorSkillAssignmentsInfiniteQuery, MENTOR_SKILL_ASSIGNMENTS_PAGE_SIZE, useUpdateUserProjectMutation, useGetTrainingDocumentsQuery, useGetVectorDocumentsQuery, useLazyGetConnectedServiceAuthUrlQuery, useCreateUserProjectMutation, useDeleteUserProjectMutation, useGetUserProjectDetailsQuery, useEditTrainingDocumentMutation, useAddTrainingDocumentMutation, useLazyGetCredentialsQuery, useGetMentorSettingsQuery, useEditMentorMutation, useUploadLightLogoMutation, useUploadDarkLogoMutation, useUpdatePlatformInfoMutation, LOGO_ENDPOINTS, useCreateEvalDatasetMutation, useAddEvalDatasetItemsMutation, useUploadEvalDatasetCsvMutation, useDeleteEvalDatasetItemMutation, useListEvalDatasetItemsQuery, evalTotalPages, useListEvalDatasetsQuery, useGetUserProjectsQuery, useCreateSessionIdMutation, useGetMentorCategoriesQuery, useGetTenantChatPrivacyConfigQuery as useGetTenantChatPrivacyConfigQuery$1, useGetCallConfigurationsQuery, useCreateCallConfigurationMutation, useUpdateCallConfigurationMutation, chatPrivacyApiSlice, useDeleteMentorMutation, useForkMentorMutation, useGetToolsQuery, useLazyGetMCPServersQuery, useOauthFindMutation, useLazyStartOAuthFlowQuery, useCreateMCPServerMutation, usePartialUpdateMCPServerMutation, useCreateMCPServerConnectionMutation, usePatchMCPServerConnectionMutation, useGetConnectedServicesQuery, useGetMCPServersQuery, useGetMCPServerConnectionsQuery, useUpdateMCPServerMutation, useDeleteMCPServerMutation, useEditMentorJsonMutation, useDisconnectServiceMutation, useGetPromptCategoriesQuery, PRIVACY_ACTIONS, PRIVACY_ENTITY_TYPES, useGetVoicesQuery, useGetVoiceQuery, isBaseAgentMentor, useGetGradeResultQuery, useOverrideGradeResultMutation, useGetChatHistoryFilterQuery, useListGradeResultsQuery, useGetMentorGraderConfigurationQuery, useListGraderCriteriaQuery, useCreateMentorGraderConfigurationMutation, useUpdateMentorGraderConfigurationMutation, useCreateGraderCriterionMutation, useUpdateGraderCriterionMutation, useDeleteGraderCriterionMutation, useGetSpendCapStatusQuery, useGetMentorPublicSettingsQuery, useGetChatHistoryQuery, useGetMentorSummariesQuery, useGetConversationMemoriesQuery, useGetSupportTicketsQuery, useGetSupportTicketMessagesQuery, useCreateSupportTicketMessageMutation, usePatchSupportTicketMutation, useCloseSupportTicketMutation, useCreateLtiMentorMutation, useUpdateLtiMentorMutation, useGetLtiMentorsQuery, useDeleteLtiMentorMutation, useCreateLtiKeyMutation, useUpdateLtiKeyMutation, useDeleteLtiKeyMutation, useGetLtiKeysQuery, useCreateLtiToolMutation, useUpdateLtiToolMutation, useGetLtiToolsQuery, useGetPlatformInfoQuery, useCreatePromptMutation, useGetPromptsSearchQuery, useUpdatePromptMutation, useCreateRedirectTokenMutation, useGetShareableLinkQuery, useCreateShareableLinkMutation, useUpdateShareableLinkMutation, useCreateDisclaimerMutation, useUpdateDisclaimerMutation, useGetDisclaimersQuery, useUpdateRbacMentorAccessMutation, useGetRbacMentorAccessListQuery, useStartEvalRunMutation, useEvaluateEvalRunMutation, useGetEvalRunQuery, useDeleteEvalScoreMutation, useListEvalRunJudgesQuery, useCreateEvalScoreMutation, useDeleteEvalRunMutation, useExportEvalRunMutation, useListEvalRunsQuery, useLazyGetEvalRunQuery, evaluationsApiSlice, EVALUATIONS_TAGS, useGetPersonnalizedMentorsQuery, useCreateCallCredentialsMutation, useGetGuidedPromptsQuery, useUpdateChatSessionSharedMutation, useUpdateMessageFeedbackMutation, useLazyGetPromptsSearchQuery, useLazyGetGuidedPromptsQuery, useGetPublicMentorsQuery, useGetPeriodicAgentsQuery, useGetPeriodicAgentLogsListQuery, useCreatePeriodicAgentMutation, useDeletePeriodicAgentMutation, useCreateMemoryCategoryMutation, useUpdateMemoryCategoryMutation, useDeleteMemoryCategoryMutation, useDeletePromptMutation, useDeleteTrainingDocumentMutation, useGetTrainingDocumentRetrainScheduleQuery, useCreateTrainingDocumentRetrainScheduleMutation, useUpdateArtifactMutation, useLazyGetArtifactVersionQuery, useLazyListArtifactVersionsQuery, useSetCurrentVersionMutation, useListArtifactVersionsQuery, useLazyGetArtifactQuery, useLazyListArtifactsQuery, useEditSessionMutation } from '@iblai/data-layer';
6
6
  import { removeAuthItem, setAuthItem, isTauriEmbeddedLLMHost, selectRbacPermissions, useCurrentTenant, canViewOtherUsersChatHistory, getInitials, useTenantMetadata, isPureWatcher, WithPermissions, canWriteField, useStripeUpgrade, openExternalUrl, CHAT_AREA_SIZE, isAlphaNumeric32, checkRbacPermission, selectNumberOfActiveChatMessages, useUsername, selectStreaming, isLoggedIn, TOOLS, hasRemoteAiConfig, isSafariBrowser, useShowAttachment, useShowVoiceCall, useShowVoiceRecorder, useMentorSettings, selectShowingSharedChat, useShowFreeTrialDialog, useEmbedMode, chatInputSliceSelectors, useResponsive, useAccessingPublicRoute, useVisitingTenant, useModelFileUploadCapabilities, useChatFileUpload, useVoiceChat, selectAttachedFiles, MENTOR_CHAT_DOCUMENTS_EXTENSIONS, removeFile, chatInputSliceActions, chatActions, WithFormPermissions, useTenantContext, TimeTracker, advancedTabsProperties, defaultSessionIds, pickWritableFields, ANONYMOUS_USERNAME as ANONYMOUS_USERNAME$3, redirectToAuthSpaJoinTenant, selectActiveTab, useAxdToken, useWelcomeMessage, markdownToPlainText, useCachedSessionId, use402ErrorCheck, use401TokenRefresh, selectTokenEnabled, selectToken, useServiceWorker, useUserAgreement, useAdvancedChat, sendMessageToParentWebsite, useMentorTools, useFileDragDrop, eventBus, RemoteEvents, selectEnableChatActionsPopup, advancedTabs, isInIframe, getAuthSpaJoinUrl, addMessage, clearFiles, MENTOR_VISIBILITY } from '@iblai/web-utils';
7
7
  import { useDispatch, useSelector } from 'react-redux';
8
8
  import { toast } from 'sonner';
@@ -96693,6 +96693,7 @@ var analyticsAccessTimeHeatmap$3 = {
96693
96693
  };
96694
96694
  var analyticsAnalyticsAuditLogStats$3 = {
96695
96695
  scopeAgent: "Agent",
96696
+ scopeAriaLabel: "Audit log scope",
96696
96697
  scopePlatform: "Platform",
96697
96698
  scopeAgentHint: "Configuration changes for this agent.",
96698
96699
  scopePlatformHint: "Platform-wide changes and security events.",
@@ -96810,7 +96811,9 @@ var analyticsAnalyticsFinancialStats$3 = {
96810
96811
  costPerDayDescription: "Daily model spend, so you can see how cost tracks with usage.",
96811
96812
  costByProviderDescription: "How your spend is split across the model providers your agents use.",
96812
96813
  costByLLMDescription: "How your spend is split across individual models, showing which ones cost the most.",
96813
- costPerUserDescription: "Spend attributed to each user, with their session count and last activity."
96814
+ costPerUserDescription: "Spend attributed to each user, with their session count and last activity.",
96815
+ viewTraces: "Traces →",
96816
+ costByLLMFooter: "{shown} models · ranked by cost"
96814
96817
  };
96815
96818
  var analyticsAnalyticsMemoryStats$3 = {
96816
96819
  noPermission: "You do not have permission to view user memories.",
@@ -96910,7 +96913,11 @@ var analyticsAnalyticsOverview$3 = {
96910
96913
  conversationsDescription: "Number of separate conversation threads started in the selected period.",
96911
96914
  sessionsChartDescription: "Sessions started over time, so you can spot usage peaks and dips.",
96912
96915
  topicsChartDescription: "The most discussed topics, ranked by how many messages each one generated.",
96913
- activeUsersChartDescription: "Unique active users per day, showing how engagement changes over time."
96916
+ activeUsersChartDescription: "Unique active users per day, showing how engagement changes over time.",
96917
+ llmSpend: "LLM spend",
96918
+ llmSpendDescription: "Raw cost of every traced LLM call in the selected period, from the trace store. Billing totals live on the Cost & LLM tab.",
96919
+ allTopics: "All topics",
96920
+ topicsRankedFooter: "{shown} of {total} topics · ranked by message volume"
96914
96921
  };
96915
96922
  var analyticsAnalyticsProgramDetail$3 = {
96916
96923
  backAriaLabel: "Go back to programs list",
@@ -97021,7 +97028,8 @@ var analyticsAnalyticsTopicsStats$3 = {
97021
97028
  messagesDescription: "Messages exchanged this month across all conversations.",
97022
97029
  conversationsChartDescription: "Conversations started over time, so you can track engagement trends.",
97023
97030
  averageRatingDescription: "Average user rating of agent responses over time, on a scale of 1 to 5.",
97024
- topicsDetailsDescription: "Topics ranked by message volume, showing what users ask about most."
97031
+ topicsDetailsDescription: "Topics ranked by message volume, showing what users ask about most.",
97032
+ topicsRankedFooter: "{shown} of {total} topics · ranked by message volume"
97025
97033
  };
97026
97034
  var analyticsAnalyticsTranscriptsStats$3 = {
97027
97035
  justNow: "Just now",
@@ -97122,11 +97130,14 @@ var analyticsGroupsFilterDropdown$3 = {
97122
97130
  noGroupsAvailable: "No groups available"
97123
97131
  };
97124
97132
  var analyticsStatCard$3 = {
97125
- noChange: "No change from last month",
97126
- comparedToLastMonth: "compared to last month",
97133
+ noChange: "No change",
97134
+ comparedToLastMonth: "vs last month",
97127
97135
  ariaLabelLoading: "{title} mini card loading",
97128
97136
  ariaLabel: "{title} mini card",
97129
- ariaLabelValue: "{title} mini card value"
97137
+ ariaLabelValue: "{title} mini card value",
97138
+ vsPrevious30d: "vs prev 30d",
97139
+ vsPriorWeek: "vs prior week",
97140
+ vsPriorMonth: "vs prior month"
97130
97141
  };
97131
97142
  var analyticsUserFilterSelect$3 = {
97132
97143
  filterByUser: "Filter by user",
@@ -102818,6 +102829,87 @@ var profileOnboardingTab$3 = {
102818
102829
  oneAgent: "1 agent",
102819
102830
  multipleAgents: "{count} agents"
102820
102831
  };
102832
+ var analyticsSourceChip$3 = {
102833
+ langfuse: "Langfuse",
102834
+ clickhouse: "ClickHouse",
102835
+ langfuseDescription: "Raw per-call data from the LLM trace store: tokens, latency and per-call cost.",
102836
+ clickhouseDescription: "Marked-up billing totals from the cost store, complete back to the first recorded session."
102837
+ };
102838
+ var analyticsControlBar$3 = {
102839
+ ariaLabel: "Analytics filters"
102840
+ };
102841
+ var analyticsChartCard$3 = {
102842
+ rangeOverride: "{range} override",
102843
+ clearOverride: "Follow the page range again",
102844
+ adjustRange: "Adjust range for this card",
102845
+ adjustRangeHint: "This card only — the page range stays where it is."
102846
+ };
102847
+ var analyticsCostTabs$3 = {
102848
+ ariaLabel: "Cost & LLM sections",
102849
+ spend: "Spend",
102850
+ usage: "Usage & latency",
102851
+ traces: "Traces"
102852
+ };
102853
+ var analyticsLlmUsage$3 = {
102854
+ noPermission: "You do not have permission to view LLM usage analytics.",
102855
+ unavailableTitle: "Token and latency data is temporarily unavailable.",
102856
+ unavailableBody: "The LLM trace store did not respond. Spend totals on the Spend tab are unaffected — they come from the billing store.",
102857
+ retry: "Retry",
102858
+ kpiSpend: "LLM spend",
102859
+ kpiSpendDescription: "Raw cost of every traced LLM call in the selected period. Billing totals with markup live on the Spend tab.",
102860
+ kpiTokens: "Tokens",
102861
+ kpiTokensDescription: "Tokens processed by every traced call in the selected period.",
102862
+ kpiTokensInOut: "{input} in / {output} out",
102863
+ kpiCalls: "LLM calls",
102864
+ kpiCallsDescription: "Number of traced LLM calls in the selected period.",
102865
+ kpiLatency: "Latency p95",
102866
+ kpiLatencyDescription: "95th percentile response time across every traced call in the selected period.",
102867
+ kpiLatencyAvg: "avg {avg}",
102868
+ spendOverTimeTitle: "Spend over time",
102869
+ spendOverTimeDescription: "Daily cost of every traced call, stacked by the service that made it (chat, embeddings, memory, …).",
102870
+ spendByModelTitle: "Spend by model",
102871
+ spendByModelDescription: "Cost attributed to the model that served the call, ranked over the selected period.",
102872
+ calls: "{count} calls",
102873
+ latencyByModelTitle: "Latency by model",
102874
+ latencyByModelDescription: "Median and 95th percentile response time per model over the selected period.",
102875
+ chartUnavailable: "Data temporarily unavailable",
102876
+ noCallsInPeriod: "No calls in this period",
102877
+ forwardOnlyTitle: "Per-agent ranking is forward-only.",
102878
+ forwardOnlyBody: "Only calls traced since agent tagging shipped can be attributed to an agent — earlier history has no agent tag."
102879
+ };
102880
+ var analyticsTraces$3 = {
102881
+ listHeading: "Traces",
102882
+ totalTraces: "{count} traces",
102883
+ filterService: "Service",
102884
+ allServices: "All services",
102885
+ clearFilters: "Clear",
102886
+ noTraces: "No traces in this period",
102887
+ anonymous: "Anonymous",
102888
+ colStarted: "Started",
102889
+ colService: "Service",
102890
+ colUser: "User",
102891
+ colLatency: "Latency",
102892
+ colCost: "Cost",
102893
+ colTime: "Time",
102894
+ colTokens: "Tokens",
102895
+ pageOf: "Page {page} of {totalPages}",
102896
+ previousPage: "Previous page",
102897
+ nextPage: "Next page",
102898
+ detailTitle: "Trace",
102899
+ closeDetail: "Close trace details",
102900
+ detailLatency: "Latency",
102901
+ detailCost: "Cost",
102902
+ detailObservations: "Observations",
102903
+ detailUser: "User",
102904
+ detailSession: "Session",
102905
+ detailEnvironment: "Environment",
102906
+ detailStarted: "Started",
102907
+ observationsHeading: "Observations",
102908
+ noObservations: "No observations recorded for this trace",
102909
+ openTranscript: "Open transcript",
102910
+ mentorScopeTitle: "Agent scope narrows the trace list only.",
102911
+ mentorScopeBody: "Row-level observations cannot be filtered to a single agent upstream — open a trace to see its own calls."
102912
+ };
102821
102913
  var en = {
102822
102914
  accessTabAddAccess: accessTabAddAccess$3,
102823
102915
  accessTabLabels: accessTabLabels$3,
@@ -103094,7 +103186,13 @@ var en = {
103094
103186
  analyticsAuditLogJsonView: analyticsAuditLogJsonView$3,
103095
103187
  analyticsUsePlatformAuditLabels: analyticsUsePlatformAuditLabels$3,
103096
103188
  onboardingUserOnboarding: onboardingUserOnboarding$3,
103097
- profileOnboardingTab: profileOnboardingTab$3
103189
+ profileOnboardingTab: profileOnboardingTab$3,
103190
+ analyticsSourceChip: analyticsSourceChip$3,
103191
+ analyticsControlBar: analyticsControlBar$3,
103192
+ analyticsChartCard: analyticsChartCard$3,
103193
+ analyticsCostTabs: analyticsCostTabs$3,
103194
+ analyticsLlmUsage: analyticsLlmUsage$3,
103195
+ analyticsTraces: analyticsTraces$3
103098
103196
  };
103099
103197
 
103100
103198
  var accessTabAddAccess$2 = {
@@ -103716,6 +103814,7 @@ var analyticsAccessTimeHeatmap$2 = {
103716
103814
  };
103717
103815
  var analyticsAnalyticsAuditLogStats$2 = {
103718
103816
  scopeAgent: "Agent",
103817
+ scopeAriaLabel: "Portée du journal d'audit",
103719
103818
  scopePlatform: "Plateforme",
103720
103819
  scopeAgentHint: "Modifications de configuration de cet agent.",
103721
103820
  scopePlatformHint: "Modifications et événements de sécurité de la plateforme.",
@@ -103833,7 +103932,9 @@ var analyticsAnalyticsFinancialStats$2 = {
103833
103932
  costPerDayDescription: "Dépense quotidienne en modèles, pour voir comment le coût suit l’utilisation.",
103834
103933
  costByProviderDescription: "Répartition de votre dépense entre les fournisseurs de modèles utilisés par vos agents.",
103835
103934
  costByLLMDescription: "Répartition de votre dépense entre les différents modèles, pour identifier les plus coûteux.",
103836
- costPerUserDescription: "Dépense attribuée à chaque utilisateur, avec son nombre de sessions et sa dernière activité."
103935
+ costPerUserDescription: "Dépense attribuée à chaque utilisateur, avec son nombre de sessions et sa dernière activité.",
103936
+ viewTraces: "Traces →",
103937
+ costByLLMFooter: "{shown} modèles · classés par coût"
103837
103938
  };
103838
103939
  var analyticsAnalyticsMemoryStats$2 = {
103839
103940
  noPermission: "Vous n'avez pas l'autorisation de consulter les mémoires des utilisateurs.",
@@ -103933,7 +104034,11 @@ var analyticsAnalyticsOverview$2 = {
103933
104034
  conversationsDescription: "Nombre de fils de conversation distincts démarrés sur la période sélectionnée.",
103934
104035
  sessionsChartDescription: "Sessions démarrées au fil du temps, pour repérer les pics et les creux d’utilisation.",
103935
104036
  topicsChartDescription: "Les sujets les plus abordés, classés selon le nombre de messages générés.",
103936
- activeUsersChartDescription: "Utilisateurs actifs uniques par jour, pour suivre l’évolution de l’engagement."
104037
+ activeUsersChartDescription: "Utilisateurs actifs uniques par jour, pour suivre l’évolution de l’engagement.",
104038
+ llmSpend: "Dépenses LLM",
104039
+ llmSpendDescription: "Coût brut de chaque appel LLM tracé sur la période sélectionnée, issu du magasin de traces. Les totaux de facturation sont dans l'onglet Coûts et LLM.",
104040
+ allTopics: "Tous les sujets",
104041
+ topicsRankedFooter: "{shown} sur {total} sujets · classés par volume de messages"
103937
104042
  };
103938
104043
  var analyticsAnalyticsProgramDetail$2 = {
103939
104044
  backAriaLabel: "Retour à la liste des programmes",
@@ -104044,7 +104149,8 @@ var analyticsAnalyticsTopicsStats$2 = {
104044
104149
  messagesDescription: "Messages échangés ce mois-ci, toutes conversations confondues.",
104045
104150
  conversationsChartDescription: "Conversations démarrées au fil du temps, pour suivre les tendances d’engagement.",
104046
104151
  averageRatingDescription: "Note moyenne attribuée par les utilisateurs aux réponses de l’agent au fil du temps, sur une échelle de 1 à 5.",
104047
- topicsDetailsDescription: "Sujets classés par volume de messages, pour voir ce que les utilisateurs demandent le plus."
104152
+ topicsDetailsDescription: "Sujets classés par volume de messages, pour voir ce que les utilisateurs demandent le plus.",
104153
+ topicsRankedFooter: "{shown} sur {total} sujets · classés par volume de messages"
104048
104154
  };
104049
104155
  var analyticsAnalyticsTranscriptsStats$2 = {
104050
104156
  justNow: "À l'instant",
@@ -104145,11 +104251,14 @@ var analyticsGroupsFilterDropdown$2 = {
104145
104251
  noGroupsAvailable: "Aucun groupe disponible"
104146
104252
  };
104147
104253
  var analyticsStatCard$2 = {
104148
- noChange: "Aucun changement par rapport au mois dernier",
104149
- comparedToLastMonth: "par rapport au mois dernier",
104254
+ noChange: "Aucun changement",
104255
+ comparedToLastMonth: "vs mois dernier",
104150
104256
  ariaLabelLoading: "chargement de la mini carte {title}",
104151
104257
  ariaLabel: "mini carte {title}",
104152
- ariaLabelValue: "valeur de la mini carte {title}"
104258
+ ariaLabelValue: "valeur de la mini carte {title}",
104259
+ vsPrevious30d: "vs 30 jours précédents",
104260
+ vsPriorWeek: "vs semaine préc.",
104261
+ vsPriorMonth: "vs mois préc."
104153
104262
  };
104154
104263
  var analyticsUserFilterSelect$2 = {
104155
104264
  filterByUser: "Filtrer par utilisateur",
@@ -109841,6 +109950,87 @@ var profileOnboardingTab$2 = {
109841
109950
  oneAgent: "1 agent",
109842
109951
  multipleAgents: "{count} agents"
109843
109952
  };
109953
+ var analyticsSourceChip$2 = {
109954
+ langfuse: "Langfuse",
109955
+ clickhouse: "ClickHouse",
109956
+ langfuseDescription: "Données brutes par appel du magasin de traces LLM : tokens, latence et coût par appel.",
109957
+ clickhouseDescription: "Totaux de facturation avec marge issus du magasin de coûts, complets depuis la première session enregistrée."
109958
+ };
109959
+ var analyticsControlBar$2 = {
109960
+ ariaLabel: "Filtres d'analyse"
109961
+ };
109962
+ var analyticsChartCard$2 = {
109963
+ rangeOverride: "Plage propre : {range}",
109964
+ clearOverride: "Revenir à la plage de la page",
109965
+ adjustRange: "Ajuster la plage de cette carte",
109966
+ adjustRangeHint: "Cette carte uniquement — la plage de la page reste inchangée."
109967
+ };
109968
+ var analyticsCostTabs$2 = {
109969
+ ariaLabel: "Sections Coûts et LLM",
109970
+ spend: "Dépenses",
109971
+ usage: "Utilisation et latence",
109972
+ traces: "Traces"
109973
+ };
109974
+ var analyticsLlmUsage$2 = {
109975
+ noPermission: "Vous n'avez pas la permission de voir les analyses d'utilisation LLM.",
109976
+ unavailableTitle: "Les données de tokens et de latence sont temporairement indisponibles.",
109977
+ unavailableBody: "Le magasin de traces LLM n'a pas répondu. Les totaux de dépenses de l'onglet Dépenses ne sont pas affectés — ils proviennent du magasin de facturation.",
109978
+ retry: "Réessayer",
109979
+ kpiSpend: "Dépenses LLM",
109980
+ kpiSpendDescription: "Coût brut de chaque appel LLM tracé sur la période sélectionnée. Les totaux de facturation avec marge sont dans l'onglet Dépenses.",
109981
+ kpiTokens: "Tokens",
109982
+ kpiTokensDescription: "Tokens traités par chaque appel tracé sur la période sélectionnée.",
109983
+ kpiTokensInOut: "{input} entrée / {output} sortie",
109984
+ kpiCalls: "Appels LLM",
109985
+ kpiCallsDescription: "Nombre d'appels LLM tracés sur la période sélectionnée.",
109986
+ kpiLatency: "Latence p95",
109987
+ kpiLatencyDescription: "Temps de réponse au 95e percentile sur tous les appels tracés de la période sélectionnée.",
109988
+ kpiLatencyAvg: "moy. {avg}",
109989
+ spendOverTimeTitle: "Dépenses dans le temps",
109990
+ spendOverTimeDescription: "Coût quotidien de chaque appel tracé, empilé par service émetteur (chat, embeddings, mémoire, …).",
109991
+ spendByModelTitle: "Dépenses par modèle",
109992
+ spendByModelDescription: "Coût attribué au modèle ayant servi l'appel, classé sur la période sélectionnée.",
109993
+ calls: "{count} appels",
109994
+ latencyByModelTitle: "Latence par modèle",
109995
+ latencyByModelDescription: "Temps de réponse médian et au 95e percentile par modèle sur la période sélectionnée.",
109996
+ chartUnavailable: "Données temporairement indisponibles",
109997
+ noCallsInPeriod: "Aucun appel sur cette période",
109998
+ forwardOnlyTitle: "Le classement par agent ne couvre que les données récentes.",
109999
+ forwardOnlyBody: "Seuls les appels tracés depuis l'activation du marquage des agents peuvent être attribués à un agent — l'historique antérieur n'a pas d'étiquette d'agent."
110000
+ };
110001
+ var analyticsTraces$2 = {
110002
+ listHeading: "Traces",
110003
+ totalTraces: "{count} traces",
110004
+ filterService: "Service",
110005
+ allServices: "Tous les services",
110006
+ clearFilters: "Effacer",
110007
+ noTraces: "Aucune trace sur cette période",
110008
+ anonymous: "Anonyme",
110009
+ colStarted: "Début",
110010
+ colService: "Service",
110011
+ colUser: "Utilisateur",
110012
+ colLatency: "Latence",
110013
+ colCost: "Coût",
110014
+ colTime: "Temps",
110015
+ colTokens: "Tokens",
110016
+ pageOf: "Page {page} sur {totalPages}",
110017
+ previousPage: "Page précédente",
110018
+ nextPage: "Page suivante",
110019
+ detailTitle: "Trace",
110020
+ closeDetail: "Fermer les détails de la trace",
110021
+ detailLatency: "Latence",
110022
+ detailCost: "Coût",
110023
+ detailObservations: "Observations",
110024
+ detailUser: "Utilisateur",
110025
+ detailSession: "Session",
110026
+ detailEnvironment: "Environnement",
110027
+ detailStarted: "Début",
110028
+ observationsHeading: "Observations",
110029
+ noObservations: "Aucune observation enregistrée pour cette trace",
110030
+ openTranscript: "Ouvrir la transcription",
110031
+ mentorScopeTitle: "La portée par agent ne restreint que la liste des traces.",
110032
+ mentorScopeBody: "Les observations au niveau ligne ne peuvent pas être filtrées sur un seul agent — ouvrez une trace pour voir ses propres appels."
110033
+ };
109844
110034
  var fr = {
109845
110035
  accessTabAddAccess: accessTabAddAccess$2,
109846
110036
  accessTabLabels: accessTabLabels$2,
@@ -110117,7 +110307,13 @@ var fr = {
110117
110307
  analyticsAuditLogJsonView: analyticsAuditLogJsonView$2,
110118
110308
  analyticsUsePlatformAuditLabels: analyticsUsePlatformAuditLabels$2,
110119
110309
  onboardingUserOnboarding: onboardingUserOnboarding$2,
110120
- profileOnboardingTab: profileOnboardingTab$2
110310
+ profileOnboardingTab: profileOnboardingTab$2,
110311
+ analyticsSourceChip: analyticsSourceChip$2,
110312
+ analyticsControlBar: analyticsControlBar$2,
110313
+ analyticsChartCard: analyticsChartCard$2,
110314
+ analyticsCostTabs: analyticsCostTabs$2,
110315
+ analyticsLlmUsage: analyticsLlmUsage$2,
110316
+ analyticsTraces: analyticsTraces$2
110121
110317
  };
110122
110318
 
110123
110319
  var accessTabAddAccess$1 = {
@@ -110739,6 +110935,7 @@ var analyticsAccessTimeHeatmap$1 = {
110739
110935
  };
110740
110936
  var analyticsAnalyticsAuditLogStats$1 = {
110741
110937
  scopeAgent: "Agente",
110938
+ scopeAriaLabel: "Alcance del registro de auditoría",
110742
110939
  scopePlatform: "Plataforma",
110743
110940
  scopeAgentHint: "Cambios de configuración de este agente.",
110744
110941
  scopePlatformHint: "Cambios y eventos de seguridad de toda la plataforma.",
@@ -110856,7 +111053,9 @@ var analyticsAnalyticsFinancialStats$1 = {
110856
111053
  costPerDayDescription: "Gasto diario en modelos, para ver cómo evoluciona el coste con el uso.",
110857
111054
  costByProviderDescription: "Cómo se reparte tu gasto entre los proveedores de modelos que usan tus agentes.",
110858
111055
  costByLLMDescription: "Cómo se reparte tu gasto entre modelos concretos, para ver cuáles cuestan más.",
110859
- costPerUserDescription: "Gasto atribuido a cada usuario, con su número de sesiones y su última actividad."
111056
+ costPerUserDescription: "Gasto atribuido a cada usuario, con su número de sesiones y su última actividad.",
111057
+ viewTraces: "Trazas →",
111058
+ costByLLMFooter: "{shown} modelos · ordenados por costo"
110860
111059
  };
110861
111060
  var analyticsAnalyticsMemoryStats$1 = {
110862
111061
  noPermission: "No tienes permiso para ver los recuerdos de los usuarios.",
@@ -110956,7 +111155,11 @@ var analyticsAnalyticsOverview$1 = {
110956
111155
  conversationsDescription: "Número de conversaciones independientes iniciadas en el periodo seleccionado.",
110957
111156
  sessionsChartDescription: "Sesiones iniciadas a lo largo del tiempo, para detectar picos y caídas de uso.",
110958
111157
  topicsChartDescription: "Los temas más tratados, ordenados por la cantidad de mensajes que generó cada uno.",
110959
- activeUsersChartDescription: "Usuarios activos únicos por día, para ver cómo cambia la participación con el tiempo."
111158
+ activeUsersChartDescription: "Usuarios activos únicos por día, para ver cómo cambia la participación con el tiempo.",
111159
+ llmSpend: "Gasto LLM",
111160
+ llmSpendDescription: "Costo bruto de cada llamada LLM trazada en el período seleccionado, del almacén de trazas. Los totales de facturación están en la pestaña Costos y LLM.",
111161
+ allTopics: "Todos los temas",
111162
+ topicsRankedFooter: "{shown} de {total} temas · ordenados por volumen de mensajes"
110960
111163
  };
110961
111164
  var analyticsAnalyticsProgramDetail$1 = {
110962
111165
  backAriaLabel: "Volver a la lista de programas",
@@ -111067,7 +111270,8 @@ var analyticsAnalyticsTopicsStats$1 = {
111067
111270
  messagesDescription: "Mensajes intercambiados este mes en todas las conversaciones.",
111068
111271
  conversationsChartDescription: "Conversaciones iniciadas a lo largo del tiempo, para seguir las tendencias de participación.",
111069
111272
  averageRatingDescription: "Valoración media de los usuarios sobre las respuestas del agente a lo largo del tiempo, en una escala de 1 a 5.",
111070
- topicsDetailsDescription: "Temas ordenados por volumen de mensajes, para ver qué consultan más los usuarios."
111273
+ topicsDetailsDescription: "Temas ordenados por volumen de mensajes, para ver qué consultan más los usuarios.",
111274
+ topicsRankedFooter: "{shown} de {total} temas · ordenados por volumen de mensajes"
111071
111275
  };
111072
111276
  var analyticsAnalyticsTranscriptsStats$1 = {
111073
111277
  justNow: "Ahora mismo",
@@ -111168,11 +111372,14 @@ var analyticsGroupsFilterDropdown$1 = {
111168
111372
  noGroupsAvailable: "No hay grupos disponibles"
111169
111373
  };
111170
111374
  var analyticsStatCard$1 = {
111171
- noChange: "Sin cambios respecto al mes pasado",
111172
- comparedToLastMonth: "en comparación con el mes pasado",
111375
+ noChange: "Sin cambios",
111376
+ comparedToLastMonth: "vs. mes anterior",
111173
111377
  ariaLabelLoading: "mini tarjeta {title} cargando",
111174
111378
  ariaLabel: "mini tarjeta {title}",
111175
- ariaLabelValue: "valor de la mini tarjeta {title}"
111379
+ ariaLabelValue: "valor de la mini tarjeta {title}",
111380
+ vsPrevious30d: "vs. 30 días anteriores",
111381
+ vsPriorWeek: "vs semana anterior",
111382
+ vsPriorMonth: "vs mes anterior"
111176
111383
  };
111177
111384
  var analyticsUserFilterSelect$1 = {
111178
111385
  filterByUser: "Filtrar por usuario",
@@ -116864,6 +117071,87 @@ var profileOnboardingTab$1 = {
116864
117071
  oneAgent: "1 agente",
116865
117072
  multipleAgents: "{count} agentes"
116866
117073
  };
117074
+ var analyticsSourceChip$1 = {
117075
+ langfuse: "Langfuse",
117076
+ clickhouse: "ClickHouse",
117077
+ langfuseDescription: "Datos brutos por llamada del almacén de trazas LLM: tokens, latencia y costo por llamada.",
117078
+ clickhouseDescription: "Totales de facturación con margen del almacén de costos, completos desde la primera sesión registrada."
117079
+ };
117080
+ var analyticsControlBar$1 = {
117081
+ ariaLabel: "Filtros de analítica"
117082
+ };
117083
+ var analyticsChartCard$1 = {
117084
+ rangeOverride: "Rango propio: {range}",
117085
+ clearOverride: "Volver al rango de la página",
117086
+ adjustRange: "Ajustar el rango de esta tarjeta",
117087
+ adjustRangeHint: "Solo esta tarjeta — el rango de la página no cambia."
117088
+ };
117089
+ var analyticsCostTabs$1 = {
117090
+ ariaLabel: "Secciones de Costos y LLM",
117091
+ spend: "Gasto",
117092
+ usage: "Uso y latencia",
117093
+ traces: "Trazas"
117094
+ };
117095
+ var analyticsLlmUsage$1 = {
117096
+ noPermission: "No tienes permiso para ver la analítica de uso de LLM.",
117097
+ unavailableTitle: "Los datos de tokens y latencia no están disponibles temporalmente.",
117098
+ unavailableBody: "El almacén de trazas LLM no respondió. Los totales de gasto en la pestaña Gasto no se ven afectados — provienen del almacén de facturación.",
117099
+ retry: "Reintentar",
117100
+ kpiSpend: "Gasto LLM",
117101
+ kpiSpendDescription: "Costo bruto de cada llamada LLM trazada en el período seleccionado. Los totales de facturación con margen están en la pestaña Gasto.",
117102
+ kpiTokens: "Tokens",
117103
+ kpiTokensDescription: "Tokens procesados por cada llamada trazada en el período seleccionado.",
117104
+ kpiTokensInOut: "{input} entrada / {output} salida",
117105
+ kpiCalls: "Llamadas LLM",
117106
+ kpiCallsDescription: "Número de llamadas LLM trazadas en el período seleccionado.",
117107
+ kpiLatency: "Latencia p95",
117108
+ kpiLatencyDescription: "Tiempo de respuesta en el percentil 95 de todas las llamadas trazadas en el período seleccionado.",
117109
+ kpiLatencyAvg: "prom. {avg}",
117110
+ spendOverTimeTitle: "Gasto en el tiempo",
117111
+ spendOverTimeDescription: "Costo diario de cada llamada trazada, apilado por el servicio que la hizo (chat, embeddings, memoria, …).",
117112
+ spendByModelTitle: "Gasto por modelo",
117113
+ spendByModelDescription: "Costo atribuido al modelo que atendió la llamada, ordenado en el período seleccionado.",
117114
+ calls: "{count} llamadas",
117115
+ latencyByModelTitle: "Latencia por modelo",
117116
+ latencyByModelDescription: "Tiempo de respuesta mediano y en el percentil 95 por modelo en el período seleccionado.",
117117
+ chartUnavailable: "Datos temporalmente no disponibles",
117118
+ noCallsInPeriod: "Sin llamadas en este período",
117119
+ forwardOnlyTitle: "El ranking por agente solo cubre datos recientes.",
117120
+ forwardOnlyBody: "Solo las llamadas trazadas desde que se activó el etiquetado de agentes pueden atribuirse a un agente — el historial anterior no tiene etiqueta de agente."
117121
+ };
117122
+ var analyticsTraces$1 = {
117123
+ listHeading: "Trazas",
117124
+ totalTraces: "{count} trazas",
117125
+ filterService: "Servicio",
117126
+ allServices: "Todos los servicios",
117127
+ clearFilters: "Limpiar",
117128
+ noTraces: "Sin trazas en este período",
117129
+ anonymous: "Anónimo",
117130
+ colStarted: "Inicio",
117131
+ colService: "Servicio",
117132
+ colUser: "Usuario",
117133
+ colLatency: "Latencia",
117134
+ colCost: "Costo",
117135
+ colTime: "Tiempo",
117136
+ colTokens: "Tokens",
117137
+ pageOf: "Página {page} de {totalPages}",
117138
+ previousPage: "Página anterior",
117139
+ nextPage: "Página siguiente",
117140
+ detailTitle: "Traza",
117141
+ closeDetail: "Cerrar detalles de la traza",
117142
+ detailLatency: "Latencia",
117143
+ detailCost: "Costo",
117144
+ detailObservations: "Observaciones",
117145
+ detailUser: "Usuario",
117146
+ detailSession: "Sesión",
117147
+ detailEnvironment: "Entorno",
117148
+ detailStarted: "Inicio",
117149
+ observationsHeading: "Observaciones",
117150
+ noObservations: "No hay observaciones registradas para esta traza",
117151
+ openTranscript: "Abrir transcripción",
117152
+ mentorScopeTitle: "El alcance por agente solo acota la lista de trazas.",
117153
+ mentorScopeBody: "Las observaciones a nivel de fila no pueden filtrarse por un solo agente — abre una traza para ver sus propias llamadas."
117154
+ };
116867
117155
  var es = {
116868
117156
  accessTabAddAccess: accessTabAddAccess$1,
116869
117157
  accessTabLabels: accessTabLabels$1,
@@ -117140,7 +117428,13 @@ var es = {
117140
117428
  analyticsAuditLogJsonView: analyticsAuditLogJsonView$1,
117141
117429
  analyticsUsePlatformAuditLabels: analyticsUsePlatformAuditLabels$1,
117142
117430
  onboardingUserOnboarding: onboardingUserOnboarding$1,
117143
- profileOnboardingTab: profileOnboardingTab$1
117431
+ profileOnboardingTab: profileOnboardingTab$1,
117432
+ analyticsSourceChip: analyticsSourceChip$1,
117433
+ analyticsControlBar: analyticsControlBar$1,
117434
+ analyticsChartCard: analyticsChartCard$1,
117435
+ analyticsCostTabs: analyticsCostTabs$1,
117436
+ analyticsLlmUsage: analyticsLlmUsage$1,
117437
+ analyticsTraces: analyticsTraces$1
117144
117438
  };
117145
117439
 
117146
117440
  var accessTabAddAccess = {
@@ -117762,6 +118056,7 @@ var analyticsAccessTimeHeatmap = {
117762
118056
  };
117763
118057
  var analyticsAnalyticsAuditLogStats = {
117764
118058
  scopeAgent: "智能体",
118059
+ scopeAriaLabel: "审计日志范围",
117765
118060
  scopePlatform: "平台",
117766
118061
  scopeAgentHint: "此智能体的配置变更。",
117767
118062
  scopePlatformHint: "全平台的变更与安全事件。",
@@ -117879,7 +118174,9 @@ var analyticsAnalyticsFinancialStats = {
117879
118174
  costPerDayDescription: "每日模型支出,便于了解成本与使用量的关系。",
117880
118175
  costByProviderDescription: "您的支出在各智能体所用模型供应商之间的分布。",
117881
118176
  costByLLMDescription: "您的支出在各个模型之间的分布,展示哪些模型花费最多。",
117882
- costPerUserDescription: "归属到每位用户的支出,含其会话数与最近活动时间。"
118177
+ costPerUserDescription: "归属到每位用户的支出,含其会话数与最近活动时间。",
118178
+ viewTraces: "追踪 →",
118179
+ costByLLMFooter: "{shown} 个模型 · 按成本排序"
117883
118180
  };
117884
118181
  var analyticsAnalyticsMemoryStats = {
117885
118182
  noPermission: "您没有查看用户记忆的权限。",
@@ -117979,7 +118276,11 @@ var analyticsAnalyticsOverview = {
117979
118276
  conversationsDescription: "所选时间段内开启的独立对话数。",
117980
118277
  sessionsChartDescription: "一段时间内开启的会话数,便于发现使用高峰与低谷。",
117981
118278
  topicsChartDescription: "讨论最多的主题,按各自产生的消息数排序。",
117982
- activeUsersChartDescription: "每日独立活跃用户数,展示参与度随时间的变化。"
118279
+ activeUsersChartDescription: "每日独立活跃用户数,展示参与度随时间的变化。",
118280
+ llmSpend: "LLM 支出",
118281
+ llmSpendDescription: "所选时段内每次被追踪的 LLM 调用的原始成本,来自追踪存储。计费总额在成本与 LLM 页。",
118282
+ allTopics: "所有主题",
118283
+ topicsRankedFooter: "共 {total} 个主题,显示 {shown} 个 · 按消息量排序"
117983
118284
  };
117984
118285
  var analyticsAnalyticsProgramDetail = {
117985
118286
  backAriaLabel: "返回项目列表",
@@ -118090,7 +118391,8 @@ var analyticsAnalyticsTopicsStats = {
118090
118391
  messagesDescription: "本月所有对话中交换的消息数。",
118091
118392
  conversationsChartDescription: "一段时间内开启的对话数,便于跟踪参与度趋势。",
118092
118393
  averageRatingDescription: "用户对智能体回复的平均评分随时间的变化,满分 5 分。",
118093
- topicsDetailsDescription: "按消息量排序的主题,展示用户最常咨询的内容。"
118394
+ topicsDetailsDescription: "按消息量排序的主题,展示用户最常咨询的内容。",
118395
+ topicsRankedFooter: "共 {total} 个主题,显示 {shown} 个 · 按消息量排序"
118094
118396
  };
118095
118397
  var analyticsAnalyticsTranscriptsStats = {
118096
118398
  justNow: "刚刚",
@@ -118191,11 +118493,14 @@ var analyticsGroupsFilterDropdown = {
118191
118493
  noGroupsAvailable: "暂无可用组"
118192
118494
  };
118193
118495
  var analyticsStatCard = {
118194
- noChange: "与上月相比无变化",
118195
- comparedToLastMonth: "与上月相比",
118496
+ noChange: "无变化",
118497
+ comparedToLastMonth: "较上月",
118196
118498
  ariaLabelLoading: "{title} 迷你卡片加载中",
118197
118499
  ariaLabel: "{title} 迷你卡片",
118198
- ariaLabelValue: "{title} 迷你卡片值"
118500
+ ariaLabelValue: "{title} 迷你卡片值",
118501
+ vsPrevious30d: "较前 30 天",
118502
+ vsPriorWeek: "较上周",
118503
+ vsPriorMonth: "较上月"
118199
118504
  };
118200
118505
  var analyticsUserFilterSelect = {
118201
118506
  filterByUser: "按用户筛选",
@@ -123887,6 +124192,87 @@ var profileOnboardingTab = {
123887
124192
  oneAgent: "1 个助手",
123888
124193
  multipleAgents: "{count} 个助手"
123889
124194
  };
124195
+ var analyticsSourceChip = {
124196
+ langfuse: "Langfuse",
124197
+ clickhouse: "ClickHouse",
124198
+ langfuseDescription: "来自 LLM 追踪存储的每次调用原始数据:令牌、延迟和每次调用成本。",
124199
+ clickhouseDescription: "来自成本存储的加成计费总额,自首次记录的会话以来完整。"
124200
+ };
124201
+ var analyticsControlBar = {
124202
+ ariaLabel: "分析筛选器"
124203
+ };
124204
+ var analyticsChartCard = {
124205
+ rangeOverride: "自定义范围:{range}",
124206
+ clearOverride: "恢复页面范围",
124207
+ adjustRange: "调整此卡片的范围",
124208
+ adjustRangeHint: "仅此卡片 — 页面范围保持不变。"
124209
+ };
124210
+ var analyticsCostTabs = {
124211
+ ariaLabel: "成本与 LLM 分区",
124212
+ spend: "支出",
124213
+ usage: "用量与延迟",
124214
+ traces: "追踪"
124215
+ };
124216
+ var analyticsLlmUsage = {
124217
+ noPermission: "您没有权限查看 LLM 使用分析。",
124218
+ unavailableTitle: "令牌和延迟数据暂时不可用。",
124219
+ unavailableBody: "LLM 追踪存储未响应。支出页的支出总额不受影响 — 它们来自计费存储。",
124220
+ retry: "重试",
124221
+ kpiSpend: "LLM 支出",
124222
+ kpiSpendDescription: "所选时段内每次被追踪的 LLM 调用的原始成本。含加成的计费总额在支出页。",
124223
+ kpiTokens: "令牌",
124224
+ kpiTokensDescription: "所选时段内每次被追踪调用处理的令牌数。",
124225
+ kpiTokensInOut: "输入 {input} / 输出 {output}",
124226
+ kpiCalls: "LLM 调用",
124227
+ kpiCallsDescription: "所选时段内被追踪的 LLM 调用次数。",
124228
+ kpiLatency: "延迟 p95",
124229
+ kpiLatencyDescription: "所选时段内所有被追踪调用的第 95 百分位响应时间。",
124230
+ kpiLatencyAvg: "均值 {avg}",
124231
+ spendOverTimeTitle: "支出趋势",
124232
+ spendOverTimeDescription: "每次被追踪调用的每日成本,按发起服务堆叠(聊天、嵌入、记忆等)。",
124233
+ spendByModelTitle: "按模型支出",
124234
+ spendByModelDescription: "按服务调用的模型归因的成本,在所选时段内排序。",
124235
+ calls: "{count} 次调用",
124236
+ latencyByModelTitle: "按模型延迟",
124237
+ latencyByModelDescription: "所选时段内每个模型的中位数和第 95 百分位响应时间。",
124238
+ chartUnavailable: "数据暂时不可用",
124239
+ noCallsInPeriod: "此时段内无调用",
124240
+ forwardOnlyTitle: "按代理排名仅覆盖近期数据。",
124241
+ forwardOnlyBody: "只有在代理标签上线后被追踪的调用才能归因到代理 — 更早的历史没有代理标签。"
124242
+ };
124243
+ var analyticsTraces = {
124244
+ listHeading: "追踪",
124245
+ totalTraces: "{count} 条追踪",
124246
+ filterService: "服务",
124247
+ allServices: "所有服务",
124248
+ clearFilters: "清除",
124249
+ noTraces: "此时段内无追踪",
124250
+ anonymous: "匿名",
124251
+ colStarted: "开始时间",
124252
+ colService: "服务",
124253
+ colUser: "用户",
124254
+ colLatency: "延迟",
124255
+ colCost: "成本",
124256
+ colTime: "耗时",
124257
+ colTokens: "令牌",
124258
+ pageOf: "第 {page} 页,共 {totalPages} 页",
124259
+ previousPage: "上一页",
124260
+ nextPage: "下一页",
124261
+ detailTitle: "追踪",
124262
+ closeDetail: "关闭追踪详情",
124263
+ detailLatency: "延迟",
124264
+ detailCost: "成本",
124265
+ detailObservations: "观测记录",
124266
+ detailUser: "用户",
124267
+ detailSession: "会话",
124268
+ detailEnvironment: "环境",
124269
+ detailStarted: "开始时间",
124270
+ observationsHeading: "观测记录",
124271
+ noObservations: "此追踪没有观测记录",
124272
+ openTranscript: "打开对话记录",
124273
+ mentorScopeTitle: "代理范围仅缩小追踪列表。",
124274
+ mentorScopeBody: "行级观测记录无法按单个代理筛选 — 打开一条追踪查看它自己的调用。"
124275
+ };
123890
124276
  var zh = {
123891
124277
  accessTabAddAccess: accessTabAddAccess,
123892
124278
  accessTabLabels: accessTabLabels,
@@ -124163,7 +124549,13 @@ var zh = {
124163
124549
  analyticsAuditLogJsonView: analyticsAuditLogJsonView,
124164
124550
  analyticsUsePlatformAuditLabels: analyticsUsePlatformAuditLabels,
124165
124551
  onboardingUserOnboarding: onboardingUserOnboarding,
124166
- profileOnboardingTab: profileOnboardingTab
124552
+ profileOnboardingTab: profileOnboardingTab,
124553
+ analyticsSourceChip: analyticsSourceChip,
124554
+ analyticsControlBar: analyticsControlBar,
124555
+ analyticsChartCard: analyticsChartCard,
124556
+ analyticsCostTabs: analyticsCostTabs,
124557
+ analyticsLlmUsage: analyticsLlmUsage,
124558
+ analyticsTraces: analyticsTraces
124167
124559
  };
124168
124560
 
124169
124561
  /**
@@ -226321,6 +226713,7 @@ function useSpendCaps({ tenantKey, mentorId, labels }) {
226321
226713
  * Rendered inside `BillingTab`.
226322
226714
  */
226323
226715
  function SpendLimitsSection({ tenantKey, labels: labelsOverride }) {
226716
+ var _a, _b, _c, _d;
226324
226717
  const t = useT();
226325
226718
  const labels = React__default.useMemo(() => resolveSpendCapsTabLabels(labelsOverride, t), [labelsOverride, t]);
226326
226719
  const [isDeleteOpen, setIsDeleteOpen] = React__default.useState(false);
@@ -226331,12 +226724,26 @@ function SpendLimitsSection({ tenantKey, labels: labelsOverride }) {
226331
226724
  setIsDeleteOpen(false);
226332
226725
  };
226333
226726
  // With no cap configured there are no reconciled counters, so surface the
226334
- // workspace's actual spend from the financial analytics endpoint instead
226335
- // an admin should see what is being spent before deciding on a limit.
226727
+ // workspace's actual spend instead an admin should see what is being
226728
+ // spent before deciding on a limit. This reads the Langfuse llm-usage
226729
+ // metrics resource (the deprecated `/api/analytics/financial/` endpoints
226730
+ // are gone), which needs no admin-user path scoping.
226336
226731
  const skipActualSpend = !tenantKey || isTenantCapLoading || isTenantForbidden || Boolean(tenantCap);
226337
- const { data: monthlySpend } = useGetFinancialStatsQuery({ metric: 'monthly_costs', date_filter: 'all_time', platform_key: tenantKey }, { skip: skipActualSpend });
226338
- const { data: totalSpend } = useGetFinancialStatsQuery({ metric: 'total_costs', all_time: 'true', date_filter: 'all_time', platform_key: tenantKey }, { skip: skipActualSpend });
226339
- return (jsxs(Fragment$1, { children: [jsxs("div", { "data-testid": "spend-limits-workspace-section", className: "rounded-lg border border-[#e5e5e5] bg-white shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] dark:bg-zinc-900 dark:border-zinc-800", children: [jsx("div", { className: "flex flex-col gap-2 p-4 sm:flex-row sm:items-start sm:justify-between", children: jsxs("div", { className: "space-y-0.5", children: [jsx("h3", { className: "text-[16px] font-medium leading-6 text-[#101828] dark:text-gray-100", children: labels.tenantSections.workspace.title }), jsx("p", { className: "text-[13px] font-normal leading-5 text-[#4a5565] dark:text-gray-400", children: labels.tenantSections.workspace.description })] }) }), jsx("div", { className: "border-t border-[#e5e7eb] dark:border-zinc-800 px-4 py-3", children: isTenantCapLoading ? (jsx("div", { className: "flex items-center justify-center py-8", "data-testid": "tenant-cap-loading", children: jsx(Spinner, {}) })) : isTenantForbidden ? (jsxs("div", { className: "flex flex-col items-center gap-2 rounded-lg border border-gray-200 bg-gray-50 px-4 py-10 text-center", "data-testid": "spend-limits-denied", children: [jsx(ShieldAlert, { className: "h-6 w-6 text-gray-400" }), jsx("p", { className: "text-sm font-medium text-gray-900", children: labels.denied.title }), jsx("p", { className: "max-w-sm text-xs text-gray-600", children: labels.denied.description })] })) : (jsxs("div", { className: "space-y-4", children: [!tenantCap && (monthlySpend != null || totalSpend != null) && (jsxs("div", { className: "space-y-1", "data-testid": "workspace-actual-spend-stats", children: [jsxs("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: [monthlySpend != null && (jsxs("div", { className: "space-y-0.5", children: [jsx("p", { className: "text-[11px] font-medium uppercase tracking-wide text-[#6a7282] dark:text-gray-400", children: labels.tenantSections.noCapStats.spentThisMonth }), jsx("p", { className: "text-[18px] font-semibold leading-6 text-[#101828] dark:text-gray-100", "data-testid": "workspace-actual-spend-month", children: formatUsd$1(String(monthlySpend.value)) })] })), totalSpend != null && (jsxs("div", { className: "space-y-0.5", children: [jsx("p", { className: "text-[11px] font-medium uppercase tracking-wide text-[#6a7282] dark:text-gray-400", children: labels.tenantSections.noCapStats.spentAllTime }), jsx("p", { className: "text-[18px] font-semibold leading-6 text-[#101828] dark:text-gray-100", "data-testid": "workspace-actual-spend-total", children: formatUsd$1(String(totalSpend.value)) })] }))] }), jsx("p", { className: "text-[12px] font-normal leading-4 text-[#6a7282] dark:text-gray-500", children: labels.tenantSections.noCapStats.hint })] })), jsx(SpendCapForm, { labels: labels, cap: tenantCap, isSaving: isSavingTenantCap, isDeleting: isDeletingTenantCap, onSave: saveTenantCap, onDelete: () => setIsDeleteOpen(true), testId: "tenant-cap" })] })) })] }), jsx(Dialog, { open: isDeleteOpen, onOpenChange: () => setIsDeleteOpen(false), children: jsxs(DialogContent, { "aria-describedby": "tenant-cap-delete-description", "data-testid": "tenant-cap-delete-modal", children: [jsx(DialogHeader, { children: jsx(DialogTitle, { className: "ibl-dialog-title", children: labels.deleteModal.title }) }), jsx("div", { className: "my-5", id: "tenant-cap-delete-description", children: jsx("p", { className: "text-sm text-[#646464]", children: labels.deleteModal.description }) }), jsxs(DialogFooter, { className: "gap-3", children: [jsx(Button$1, { variant: "outline", onClick: () => setIsDeleteOpen(false), children: labels.deleteModal.cancel }), jsx(Button$1, { className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] text-white hover:opacity-90", onClick: handleConfirmDelete, disabled: isDeletingTenantCap, "data-testid": "tenant-cap-delete-confirm", children: isDeletingTenantCap ? labels.form.removing : labels.deleteModal.confirm })] })] }) })] }));
226732
+ const { data: monthlySpendData } = useGetLlmUsageMetricsQuery({
226733
+ platform_key: tenantKey,
226734
+ date_filter: '30d',
226735
+ measures: ['total_cost'],
226736
+ aggregation: 'sum',
226737
+ }, { skip: skipActualSpend });
226738
+ const { data: totalSpendData } = useGetLlmUsageMetricsQuery({
226739
+ platform_key: tenantKey,
226740
+ date_filter: 'all_time',
226741
+ measures: ['total_cost'],
226742
+ aggregation: 'sum',
226743
+ }, { skip: skipActualSpend });
226744
+ const monthlySpend = (_b = (_a = monthlySpendData === null || monthlySpendData === void 0 ? void 0 : monthlySpendData.data) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.sum_totalCost;
226745
+ const totalSpend = (_d = (_c = totalSpendData === null || totalSpendData === void 0 ? void 0 : totalSpendData.data) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.sum_totalCost;
226746
+ return (jsxs(Fragment$1, { children: [jsxs("div", { "data-testid": "spend-limits-workspace-section", className: "rounded-lg border border-[#e5e5e5] bg-white shadow-[0_1px_2px_0_rgba(0,0,0,0.05)] dark:bg-zinc-900 dark:border-zinc-800", children: [jsx("div", { className: "flex flex-col gap-2 p-4 sm:flex-row sm:items-start sm:justify-between", children: jsxs("div", { className: "space-y-0.5", children: [jsx("h3", { className: "text-[16px] font-medium leading-6 text-[#101828] dark:text-gray-100", children: labels.tenantSections.workspace.title }), jsx("p", { className: "text-[13px] font-normal leading-5 text-[#4a5565] dark:text-gray-400", children: labels.tenantSections.workspace.description })] }) }), jsx("div", { className: "border-t border-[#e5e7eb] dark:border-zinc-800 px-4 py-3", children: isTenantCapLoading ? (jsx("div", { className: "flex items-center justify-center py-8", "data-testid": "tenant-cap-loading", children: jsx(Spinner, {}) })) : isTenantForbidden ? (jsxs("div", { className: "flex flex-col items-center gap-2 rounded-lg border border-gray-200 bg-gray-50 px-4 py-10 text-center", "data-testid": "spend-limits-denied", children: [jsx(ShieldAlert, { className: "h-6 w-6 text-gray-400" }), jsx("p", { className: "text-sm font-medium text-gray-900", children: labels.denied.title }), jsx("p", { className: "max-w-sm text-xs text-gray-600", children: labels.denied.description })] })) : (jsxs("div", { className: "space-y-4", children: [!tenantCap && (monthlySpend != null || totalSpend != null) && (jsxs("div", { className: "space-y-1", "data-testid": "workspace-actual-spend-stats", children: [jsxs("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-2", children: [monthlySpend != null && (jsxs("div", { className: "space-y-0.5", children: [jsx("p", { className: "text-[11px] font-medium uppercase tracking-wide text-[#6a7282] dark:text-gray-400", children: labels.tenantSections.noCapStats.spentThisMonth }), jsx("p", { className: "text-[18px] font-semibold leading-6 text-[#101828] dark:text-gray-100", "data-testid": "workspace-actual-spend-month", children: formatUsd$1(String(monthlySpend)) })] })), totalSpend != null && (jsxs("div", { className: "space-y-0.5", children: [jsx("p", { className: "text-[11px] font-medium uppercase tracking-wide text-[#6a7282] dark:text-gray-400", children: labels.tenantSections.noCapStats.spentAllTime }), jsx("p", { className: "text-[18px] font-semibold leading-6 text-[#101828] dark:text-gray-100", "data-testid": "workspace-actual-spend-total", children: formatUsd$1(String(totalSpend)) })] }))] }), jsx("p", { className: "text-[12px] font-normal leading-4 text-[#6a7282] dark:text-gray-500", children: labels.tenantSections.noCapStats.hint })] })), jsx(SpendCapForm, { labels: labels, cap: tenantCap, isSaving: isSavingTenantCap, isDeleting: isDeletingTenantCap, onSave: saveTenantCap, onDelete: () => setIsDeleteOpen(true), testId: "tenant-cap" })] })) })] }), jsx(Dialog, { open: isDeleteOpen, onOpenChange: () => setIsDeleteOpen(false), children: jsxs(DialogContent, { "aria-describedby": "tenant-cap-delete-description", "data-testid": "tenant-cap-delete-modal", children: [jsx(DialogHeader, { children: jsx(DialogTitle, { className: "ibl-dialog-title", children: labels.deleteModal.title }) }), jsx("div", { className: "my-5", id: "tenant-cap-delete-description", children: jsx("p", { className: "text-sm text-[#646464]", children: labels.deleteModal.description }) }), jsxs(DialogFooter, { className: "gap-3", children: [jsx(Button$1, { variant: "outline", onClick: () => setIsDeleteOpen(false), children: labels.deleteModal.cancel }), jsx(Button$1, { className: "bg-gradient-to-r from-[#2563EB] to-[#93C5FD] text-white hover:opacity-90", onClick: handleConfirmDelete, disabled: isDeletingTenantCap, "data-testid": "tenant-cap-delete-confirm", children: isDeletingTenantCap ? labels.form.removing : labels.deleteModal.confirm })] })] }) })] }));
226340
226747
  }
226341
226748
 
226342
226749
  /**
@@ -257632,6 +258039,22 @@ function getPayloadConfigFromPayload(config, payload, key) {
257632
258039
 
257633
258040
  React__default.createContext(undefined);
257634
258041
 
258042
+ /**
258043
+ * The one shared date range for an analytics page.
258044
+ *
258045
+ * Historically every chart card carried its own Today/7D/30D/90D row, so a
258046
+ * single screen held five independent ranges and no shared answer to "what
258047
+ * period am I looking at?". When this provider is present (the layout renders
258048
+ * it above the tab content), `ChartCardWrapper` follows it instead of showing
258049
+ * a per-card picker — a card may still diverge, and wears an override chip
258050
+ * while it does.
258051
+ *
258052
+ * The context is deliberately optional: pages rendered outside the layout
258053
+ * (or by hosts that have not adopted the control bar) keep the old per-card
258054
+ * behavior untouched.
258055
+ */
258056
+ React__default.createContext(null);
258057
+
257635
258058
  const AnalyticsScopeContext = createContext({ scopedMentor: null });
257636
258059
  AnalyticsScopeContext.Provider;
257637
258060