@carlonicora/nextjs-jsonapi 6.0.0 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BlockNoteEditor-FZNU4YQT.mjs → BlockNoteEditor-D6VMXRZH.mjs} +4 -4
- package/dist/{BlockNoteEditor-SAU3G6H7.js → BlockNoteEditor-Q757ZLCO.js} +19 -19
- package/dist/{BlockNoteEditor-SAU3G6H7.js.map → BlockNoteEditor-Q757ZLCO.js.map} +1 -1
- package/dist/{BlockNoteViewer-6XDDVTN6.mjs → BlockNoteViewer-GI5LVQHZ.mjs} +2 -2
- package/dist/{BlockNoteViewer-7BTV7QQA.js → BlockNoteViewer-KG4CIJC5.js} +3 -3
- package/dist/{BlockNoteViewer-7BTV7QQA.js.map → BlockNoteViewer-KG4CIJC5.js.map} +1 -1
- package/dist/billing/index.js +491 -491
- package/dist/billing/index.mjs +3 -3
- package/dist/{chunk-F4JB7YAP.js → chunk-3P3IYUWQ.js} +8 -8
- package/dist/{chunk-F4JB7YAP.js.map → chunk-3P3IYUWQ.js.map} +1 -1
- package/dist/{chunk-U7DR5VDT.mjs → chunk-6PW3562E.mjs} +5 -5
- package/dist/{chunk-JVJS5RHB.mjs → chunk-CUNSPLOD.mjs} +2 -2
- package/dist/{chunk-T3YQ47EF.js → chunk-GSHMGL6N.js} +2 -1
- package/dist/chunk-GSHMGL6N.js.map +1 -0
- package/dist/{chunk-GFGKMUPZ.mjs → chunk-HLW3SUMD.mjs} +2 -2
- package/dist/{chunk-RYZYKG6W.mjs → chunk-MHBE4KQR.mjs} +2 -2
- package/dist/{chunk-USYZNWKS.mjs → chunk-QKDPCZ3G.mjs} +2 -1
- package/dist/{chunk-USYZNWKS.mjs.map → chunk-QKDPCZ3G.mjs.map} +1 -1
- package/dist/{chunk-TPZS46IM.js → chunk-S332ZCIE.js} +3 -3
- package/dist/{chunk-TPZS46IM.js.map → chunk-S332ZCIE.js.map} +1 -1
- package/dist/{chunk-MTI2UXDA.js → chunk-UEWDYVLW.js} +4 -4
- package/dist/{chunk-MTI2UXDA.js.map → chunk-UEWDYVLW.js.map} +1 -1
- package/dist/{chunk-IPYXT7MH.js → chunk-XQEYBESH.js} +868 -868
- package/dist/{chunk-IPYXT7MH.js.map → chunk-XQEYBESH.js.map} +1 -1
- package/dist/client/index.js +4 -4
- package/dist/client/index.mjs +3 -3
- package/dist/components/index.js +4 -4
- package/dist/components/index.mjs +3 -3
- package/dist/contexts/index.js +4 -4
- package/dist/contexts/index.mjs +3 -3
- package/dist/core/index.js +2 -2
- package/dist/core/index.mjs +1 -1
- package/dist/email-automations/index.js +92 -92
- package/dist/email-automations/index.mjs +3 -3
- package/dist/features/analytics/index.d.mts +9 -1
- package/dist/features/analytics/index.d.ts +9 -1
- package/dist/features/analytics/index.js +129 -127
- package/dist/features/analytics/index.js.map +1 -1
- package/dist/features/analytics/index.mjs +12 -10
- package/dist/features/analytics/index.mjs.map +1 -1
- package/dist/features/analytics/server.js +4 -4
- package/dist/features/analytics/server.mjs +2 -2
- package/dist/features/blog/index.js +150 -150
- package/dist/features/blog/index.mjs +3 -3
- package/dist/features/blog/server.js +16 -16
- package/dist/features/blog/server.mjs +1 -1
- package/dist/features/help/index.js +37 -37
- package/dist/features/help/index.mjs +3 -3
- package/dist/features/tokenusage/index.js +158 -125
- package/dist/features/tokenusage/index.js.map +1 -1
- package/dist/features/tokenusage/index.mjs +38 -5
- package/dist/features/tokenusage/index.mjs.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.mjs +2 -2
- package/dist/server/index.js +3 -3
- package/dist/server/index.mjs +2 -2
- package/messages/en.json +23 -0
- package/messages/it.json +23 -0
- package/package.json +1 -1
- package/scripts/validate-messages.mjs +4 -1
- package/src/features/analytics/components/AnalyticsTracker.tsx +22 -9
- package/src/features/analytics/components/__tests__/AnalyticsTracker.spec.tsx +67 -0
- package/src/features/analytics/data/__tests__/models.spec.ts +13 -0
- package/src/features/analytics/data/analytics-event.ts +1 -0
- package/src/features/analytics/data/analytics.types.ts +2 -0
- package/src/features/tokenusage/components/TokenUsageRankedBar.tsx +34 -2
- package/src/features/tokenusage/components/__tests__/TokenUsageRankedBar.spec.tsx +22 -0
- package/src/features/tokenusage/lib/operation-label.ts +20 -0
- package/dist/chunk-T3YQ47EF.js.map +0 -1
- /package/dist/{BlockNoteEditor-FZNU4YQT.mjs.map → BlockNoteEditor-D6VMXRZH.mjs.map} +0 -0
- /package/dist/{BlockNoteViewer-6XDDVTN6.mjs.map → BlockNoteViewer-GI5LVQHZ.mjs.map} +0 -0
- /package/dist/{chunk-U7DR5VDT.mjs.map → chunk-6PW3562E.mjs.map} +0 -0
- /package/dist/{chunk-JVJS5RHB.mjs.map → chunk-CUNSPLOD.mjs.map} +0 -0
- /package/dist/{chunk-GFGKMUPZ.mjs.map → chunk-HLW3SUMD.mjs.map} +0 -0
- /package/dist/{chunk-RYZYKG6W.mjs.map → chunk-MHBE4KQR.mjs.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _chunk3P3IYUWQjs = require('./chunk-3P3IYUWQ.js');
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
|
|
@@ -306,7 +306,7 @@ var _chunkG4JR3SFVjs = require('./chunk-G4JR3SFV.js');
|
|
|
306
306
|
|
|
307
307
|
|
|
308
308
|
|
|
309
|
-
var
|
|
309
|
+
var _chunkGSHMGL6Njs = require('./chunk-GSHMGL6N.js');
|
|
310
310
|
|
|
311
311
|
|
|
312
312
|
|
|
@@ -637,5 +637,5 @@ require('./chunk-7QVYU63E.js');
|
|
|
637
637
|
|
|
638
638
|
|
|
639
639
|
|
|
640
|
-
exports.ACTION_TYPES = _chunkF4JB7YAPjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkT3YQ47EFjs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkT3YQ47EFjs.AbstractApiData; exports.AbstractService = _chunkT3YQ47EFjs.AbstractService; exports.Action = _chunkT3YQ47EFjs.Action; exports.AiConnection = _chunkT3YQ47EFjs.AiConnection; exports.AiConnectionFields = _chunkT3YQ47EFjs.AiConnectionFields; exports.AiConnectionModule = _chunkT3YQ47EFjs.AiConnectionModule; exports.AiConnectionService = _chunkT3YQ47EFjs.AiConnectionService; exports.Assistant = _chunkT3YQ47EFjs.Assistant; exports.AssistantAction = _chunkT3YQ47EFjs.AssistantAction; exports.AssistantActionModule = _chunkT3YQ47EFjs.AssistantActionModule; exports.AssistantActionService = _chunkT3YQ47EFjs.AssistantActionService; exports.AssistantMessage = _chunkT3YQ47EFjs.AssistantMessage; exports.AssistantMessageModule = _chunkT3YQ47EFjs.AssistantMessageModule; exports.AssistantMessageService = _chunkT3YQ47EFjs.AssistantMessageService; exports.AssistantModule = _chunkT3YQ47EFjs.AssistantModule; exports.AssistantService = _chunkT3YQ47EFjs.AssistantService; exports.AuditLog = _chunkT3YQ47EFjs.AuditLog; exports.AuditLogModule = _chunkT3YQ47EFjs.AuditLogModule; exports.AuditLogService = _chunkT3YQ47EFjs.AuditLogService; exports.Auth = _chunkT3YQ47EFjs.Auth; exports.AuthComponent = _chunkT3YQ47EFjs.AuthComponent; exports.AuthModule = _chunkT3YQ47EFjs.AuthModule; exports.AuthService = _chunkT3YQ47EFjs.AuthService; exports.AuthorModule = _chunkT3YQ47EFjs.AuthorModule; exports.BackupCodeVerify = _chunkT3YQ47EFjs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkT3YQ47EFjs.BackupCodeVerifyModule; exports.Billing = _chunkT3YQ47EFjs.Billing; exports.BillingModule = _chunkT3YQ47EFjs.BillingModule; exports.BillingService = _chunkT3YQ47EFjs.BillingService; exports.BlockNoteDiffUtil = _chunkT3YQ47EFjs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkT3YQ47EFjs.BlockNoteWordDiffRendererUtil; exports.BlogCategory = _chunkT3YQ47EFjs.BlogCategory; exports.BlogCategoryFields = _chunkT3YQ47EFjs.BlogCategoryFields; exports.BlogCategoryModule = _chunkT3YQ47EFjs.BlogCategoryModule; exports.BlogCategoryService = _chunkT3YQ47EFjs.BlogCategoryService; exports.BlogCategoryTranslation = _chunkT3YQ47EFjs.BlogCategoryTranslation; exports.BlogCategoryTranslationModule = _chunkT3YQ47EFjs.BlogCategoryTranslationModule; exports.BlogCategoryTranslationService = _chunkT3YQ47EFjs.BlogCategoryTranslationService; exports.BlogPost = _chunkT3YQ47EFjs.BlogPost; exports.BlogPostFields = _chunkT3YQ47EFjs.BlogPostFields; exports.BlogPostModule = _chunkT3YQ47EFjs.BlogPostModule; exports.BlogPostService = _chunkT3YQ47EFjs.BlogPostService; exports.BlogPostTranslation = _chunkT3YQ47EFjs.BlogPostTranslation; exports.BlogPostTranslationModule = _chunkT3YQ47EFjs.BlogPostTranslationModule; exports.BlogPostTranslationService = _chunkT3YQ47EFjs.BlogPostTranslationService; exports.BlogSettings = _chunkT3YQ47EFjs.BlogSettings; exports.BlogSettingsModule = _chunkT3YQ47EFjs.BlogSettingsModule; exports.BlogSettingsService = _chunkT3YQ47EFjs.BlogSettingsService; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunkF4JB7YAPjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.CURRENT_USER_STORAGE_KEY = _chunkT3YQ47EFjs.CURRENT_USER_STORAGE_KEY; exports.Chunk = _chunkT3YQ47EFjs.Chunk; exports.ChunkModule = _chunkT3YQ47EFjs.ChunkModule; exports.ClientAbstractService = _chunkT3YQ47EFjs.ClientAbstractService; exports.ClientHttpMethod = _chunkT3YQ47EFjs.ClientHttpMethod; exports.Company = _chunkT3YQ47EFjs.Company; exports.CompanyFields = _chunkT3YQ47EFjs.CompanyFields; exports.CompanyModule = _chunkT3YQ47EFjs.CompanyModule; exports.CompanyService = _chunkT3YQ47EFjs.CompanyService; exports.Content = _chunkT3YQ47EFjs.Content; exports.ContentFields = _chunkT3YQ47EFjs.ContentFields; exports.ContentModule = _chunkT3YQ47EFjs.ContentModule; exports.ContentService = _chunkT3YQ47EFjs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkT3YQ47EFjs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkGHE4VT2Rjs.DataClassRegistry; exports.DataClassRegistry = _chunkGHE4VT2Rjs.DataClassRegistry; exports.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE = _chunkT3YQ47EFjs.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE; exports.ENV = _chunkGHE4VT2Rjs.ENV; exports.EmailAutomation = _chunkT3YQ47EFjs.EmailAutomation; exports.EmailAutomationEnrollment = _chunkT3YQ47EFjs.EmailAutomationEnrollment; exports.EmailAutomationEnrollmentFields = _chunkT3YQ47EFjs.EmailAutomationEnrollmentFields; exports.EmailAutomationEnrollmentModule = _chunkT3YQ47EFjs.EmailAutomationEnrollmentModule; exports.EmailAutomationEnrollmentService = _chunkT3YQ47EFjs.EmailAutomationEnrollmentService; exports.EmailAutomationFields = _chunkT3YQ47EFjs.EmailAutomationFields; exports.EmailAutomationModule = _chunkT3YQ47EFjs.EmailAutomationModule; exports.EmailAutomationService = _chunkT3YQ47EFjs.EmailAutomationService; exports.EmailAutomationStep = _chunkT3YQ47EFjs.EmailAutomationStep; exports.EmailAutomationStepModule = _chunkT3YQ47EFjs.EmailAutomationStepModule; exports.EmailAutomationStepService = _chunkT3YQ47EFjs.EmailAutomationStepService; exports.EmailAutomationTrigger = _chunkT3YQ47EFjs.EmailAutomationTrigger; exports.EmailAutomationTriggerModule = _chunkT3YQ47EFjs.EmailAutomationTriggerModule; exports.EndpointCreator = _chunkT3YQ47EFjs.EndpointCreator; exports.EntityAiStatus = _chunkT3YQ47EFjs.EntityAiStatus; exports.Feature = _chunkT3YQ47EFjs.Feature; exports.FeatureModule = _chunkT3YQ47EFjs.FeatureModule; exports.FeatureService = _chunkT3YQ47EFjs.FeatureService; exports.HandbookPage = _chunkT3YQ47EFjs.HandbookPage; exports.HandbookPageFields = _chunkT3YQ47EFjs.HandbookPageFields; exports.HandbookPageModule = _chunkT3YQ47EFjs.HandbookPageModule; exports.HandbookPageService = _chunkT3YQ47EFjs.HandbookPageService; exports.HandbookSection = _chunkT3YQ47EFjs.HandbookSection; exports.HandbookSectionModule = _chunkT3YQ47EFjs.HandbookSectionModule; exports.HandbookSectionService = _chunkT3YQ47EFjs.HandbookSectionService; exports.HandbookThread = _chunkT3YQ47EFjs.HandbookThread; exports.HandbookThreadMessage = _chunkT3YQ47EFjs.HandbookThreadMessage; exports.HandbookThreadMessageModule = _chunkT3YQ47EFjs.HandbookThreadMessageModule; exports.HandbookThreadMessageService = _chunkT3YQ47EFjs.HandbookThreadMessageService; exports.HandbookThreadModule = _chunkT3YQ47EFjs.HandbookThreadModule; exports.HandbookThreadService = _chunkT3YQ47EFjs.HandbookThreadService; exports.HowTo = _chunkT3YQ47EFjs.HowTo; exports.HowToFields = _chunkT3YQ47EFjs.HowToFields; exports.HowToModule = _chunkT3YQ47EFjs.HowToModule; exports.HowToService = _chunkT3YQ47EFjs.HowToService; exports.HttpMethod = _chunkT3YQ47EFjs.HttpMethod; exports.InvoiceStatus = _chunkT3YQ47EFjs.InvoiceStatus; exports.JsonApiDataFactory = _chunkGHE4VT2Rjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkT3YQ47EFjs.MOBILE_BREAKPOINT; exports.Module = _chunkT3YQ47EFjs.Module; exports.ModuleModule = _chunkT3YQ47EFjs.ModuleModule; exports.ModulePaths = _chunkT3YQ47EFjs.ModulePaths; exports.ModulePathsModule = _chunkT3YQ47EFjs.ModulePathsModule; exports.ModuleRegistrar = _chunkT3YQ47EFjs.ModuleRegistrar; exports.ModuleRegistry = _chunkT3YQ47EFjs.ModuleRegistry; exports.Modules = _chunkT3YQ47EFjs.Modules; exports.Notification = _chunkT3YQ47EFjs.Notification; exports.NotificationFields = _chunkT3YQ47EFjs.NotificationFields; exports.NotificationModule = _chunkT3YQ47EFjs.NotificationModule; exports.NotificationService = _chunkT3YQ47EFjs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkT3YQ47EFjs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkT3YQ47EFjs.OAuthClient; exports.OAuthModule = _chunkT3YQ47EFjs.OAuthModule; exports.OAuthService = _chunkT3YQ47EFjs.OAuthService; exports.Passkey = _chunkT3YQ47EFjs.Passkey; exports.PasskeyAuthenticationOptions = _chunkT3YQ47EFjs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkT3YQ47EFjs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkT3YQ47EFjs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkT3YQ47EFjs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkT3YQ47EFjs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkT3YQ47EFjs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkT3YQ47EFjs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkT3YQ47EFjs.PasskeyRename; exports.PasskeyRenameModule = _chunkT3YQ47EFjs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkT3YQ47EFjs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkT3YQ47EFjs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkT3YQ47EFjs.PaymentMethod; exports.PermissionMapping = _chunkT3YQ47EFjs.PermissionMapping; exports.PermissionMappingModule = _chunkT3YQ47EFjs.PermissionMappingModule; exports.Push = _chunkT3YQ47EFjs.Push; exports.PushModule = _chunkT3YQ47EFjs.PushModule; exports.PushService = _chunkT3YQ47EFjs.PushService; exports.RbacMatrixModel = _chunkT3YQ47EFjs.RbacMatrixModel; exports.RbacMatrixModule = _chunkT3YQ47EFjs.RbacMatrixModule; exports.RbacService = _chunkF4JB7YAPjs.RbacService; exports.ReferralModule = _chunkT3YQ47EFjs.ReferralModule; exports.ReferralService = _chunkT3YQ47EFjs.ReferralService; exports.ReferralStats = _chunkT3YQ47EFjs.ReferralStats; exports.ReferralStatsModule = _chunkT3YQ47EFjs.ReferralStatsModule; exports.RehydrationFactory = _chunkT3YQ47EFjs.RehydrationFactory; exports.Role = _chunkT3YQ47EFjs.Role; exports.RoleFields = _chunkT3YQ47EFjs.RoleFields; exports.RoleModule = _chunkT3YQ47EFjs.RoleModule; exports.RoleService = _chunkT3YQ47EFjs.RoleService; exports.S3 = _chunkT3YQ47EFjs.S3; exports.S3Module = _chunkT3YQ47EFjs.S3Module; exports.S3Service = _chunkT3YQ47EFjs.S3Service; exports.SIGNUP_SOURCE_COOKIE = _chunkF4JB7YAPjs.SIGNUP_SOURCE_COOKIE; exports.SIGNUP_SOURCE_COOKIE_MAX_AGE = _chunkF4JB7YAPjs.SIGNUP_SOURCE_COOKIE_MAX_AGE; exports.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT = _chunkT3YQ47EFjs.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT; exports.STRIPE_COUPON_DETAIL_PAGE_URL = _chunkT3YQ47EFjs.STRIPE_COUPON_DETAIL_PAGE_URL; exports.STRIPE_COUPON_REFRESH_SEGMENT = _chunkT3YQ47EFjs.STRIPE_COUPON_REFRESH_SEGMENT; exports.StripeCoupon = _chunkT3YQ47EFjs.StripeCoupon; exports.StripeCouponCode = _chunkT3YQ47EFjs.StripeCouponCode; exports.StripeCouponCodeFields = _chunkT3YQ47EFjs.StripeCouponCodeFields; exports.StripeCouponCodeModule = _chunkT3YQ47EFjs.StripeCouponCodeModule; exports.StripeCouponCodeService = _chunkT3YQ47EFjs.StripeCouponCodeService; exports.StripeCouponFields = _chunkT3YQ47EFjs.StripeCouponFields; exports.StripeCouponModule = _chunkT3YQ47EFjs.StripeCouponModule; exports.StripeCouponOffer = _chunkT3YQ47EFjs.StripeCouponOffer; exports.StripeCouponOfferModule = _chunkT3YQ47EFjs.StripeCouponOfferModule; exports.StripeCouponService = _chunkT3YQ47EFjs.StripeCouponService; exports.StripeCustomer = _chunkT3YQ47EFjs.StripeCustomer; exports.StripeCustomerModule = _chunkT3YQ47EFjs.StripeCustomerModule; exports.StripeCustomerService = _chunkT3YQ47EFjs.StripeCustomerService; exports.StripeInvoice = _chunkT3YQ47EFjs.StripeInvoice; exports.StripeInvoiceModule = _chunkT3YQ47EFjs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkT3YQ47EFjs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkT3YQ47EFjs.StripePaymentMethodModule; exports.StripePrice = _chunkT3YQ47EFjs.StripePrice; exports.StripePriceFields = _chunkT3YQ47EFjs.StripePriceFields; exports.StripePriceModule = _chunkT3YQ47EFjs.StripePriceModule; exports.StripePriceService = _chunkT3YQ47EFjs.StripePriceService; exports.StripeProduct = _chunkT3YQ47EFjs.StripeProduct; exports.StripeProductFields = _chunkT3YQ47EFjs.StripeProductFields; exports.StripeProductModule = _chunkT3YQ47EFjs.StripeProductModule; exports.StripeProductService = _chunkT3YQ47EFjs.StripeProductService; exports.StripePromotionCode = _chunkT3YQ47EFjs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkT3YQ47EFjs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkT3YQ47EFjs.StripePromotionCodeService; exports.StripeSubscription = _chunkT3YQ47EFjs.StripeSubscription; exports.StripeSubscriptionModule = _chunkT3YQ47EFjs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkT3YQ47EFjs.StripeSubscriptionService; exports.StripeUsage = _chunkT3YQ47EFjs.StripeUsage; exports.StripeUsageModule = _chunkT3YQ47EFjs.StripeUsageModule; exports.StripeUsageService = _chunkT3YQ47EFjs.StripeUsageService; exports.SubscriptionStatus = _chunkT3YQ47EFjs.SubscriptionStatus; exports.TableOptions = _chunkT3YQ47EFjs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkT3YQ47EFjs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkT3YQ47EFjs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkT3YQ47EFjs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkT3YQ47EFjs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkT3YQ47EFjs.TotpAuthenticatorModule; exports.TotpSetup = _chunkT3YQ47EFjs.TotpSetup; exports.TotpSetupModule = _chunkT3YQ47EFjs.TotpSetupModule; exports.TotpVerify = _chunkT3YQ47EFjs.TotpVerify; exports.TotpVerifyLogin = _chunkT3YQ47EFjs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkT3YQ47EFjs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkT3YQ47EFjs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkT3YQ47EFjs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkT3YQ47EFjs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkT3YQ47EFjs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkT3YQ47EFjs.TwoFactorEnableModule; exports.TwoFactorService = _chunkT3YQ47EFjs.TwoFactorService; exports.TwoFactorStatus = _chunkT3YQ47EFjs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkT3YQ47EFjs.TwoFactorStatusModule; exports.User = _chunkT3YQ47EFjs.User; exports.UserFields = _chunkT3YQ47EFjs.UserFields; exports.UserModule = _chunkT3YQ47EFjs.UserModule; exports.UserService = _chunkT3YQ47EFjs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkT3YQ47EFjs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkT3YQ47EFjs.Waitlist; exports.WaitlistFields = _chunkT3YQ47EFjs.WaitlistFields; exports.WaitlistModule = _chunkT3YQ47EFjs.WaitlistModule; exports.WaitlistService = _chunkT3YQ47EFjs.WaitlistService; exports.WaitlistStats = _chunkT3YQ47EFjs.WaitlistStats; exports.WaitlistStatsModule = _chunkT3YQ47EFjs.WaitlistStatsModule; exports.analyticsModules = _chunkT3YQ47EFjs.analyticsModules; exports.captureSignupSource = _chunkF4JB7YAPjs.captureSignupSource; exports.checkPermissions = _chunkT3YQ47EFjs.checkPermissions; exports.checkPermissionsFromServer = _chunkT3YQ47EFjs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkT3YQ47EFjs.clearLastApiMeta; exports.clearLastApiTotal = _chunkT3YQ47EFjs.clearLastApiTotal; exports.cn = _chunkT3YQ47EFjs.cn; exports.composeRefs = _chunkT3YQ47EFjs.composeRefs; exports.configureAuth = _chunkT3YQ47EFjs.configureAuth; exports.configureI18n = _chunkT3YQ47EFjs.configureI18n; exports.configureJsonApi = _chunkF4JB7YAPjs.configureJsonApi; exports.configureLogin = _chunkF4JB7YAPjs.configureLogin; exports.configureReferral = _chunkF4JB7YAPjs.configureReferral; exports.configureRoles = _chunkG4JR3SFVjs.configureRoles; exports.configureTokenUsage = _chunkT3YQ47EFjs.configureTokenUsage; exports.configureWaitlist = _chunkF4JB7YAPjs.configureWaitlist; exports.couponPlacesLeft = _chunkT3YQ47EFjs.couponPlacesLeft; exports.couponPlacesTotal = _chunkT3YQ47EFjs.couponPlacesTotal; exports.createJsonApiInclusion = _chunkT3YQ47EFjs.createJsonApiInclusion; exports.dateFormatLocale = _chunkT3YQ47EFjs.dateFormatLocale; exports.dismissToast = _chunkT3YQ47EFjs.dismissToast; exports.entityObjectSchema = _chunkT3YQ47EFjs.entityObjectSchema; exports.exists = _chunkT3YQ47EFjs.exists; exports.formatCodiceFiscale = _chunkT3YQ47EFjs.formatCodiceFiscale; exports.formatCouponDiscount = _chunkT3YQ47EFjs.formatCouponDiscount; exports.formatCurrency = _chunkT3YQ47EFjs.formatCurrency; exports.formatDate = _chunkT3YQ47EFjs.formatDate; exports.formatFixed = _chunkT3YQ47EFjs.formatFixed; exports.formatInterval = _chunkT3YQ47EFjs.formatInterval; exports.formatLocalDate = _chunkT3YQ47EFjs.formatLocalDate; exports.formatPartitaIva = _chunkT3YQ47EFjs.formatPartitaIva; exports.getApiUrl = _chunkF4JB7YAPjs.getApiUrl; exports.getAppUrl = _chunkF4JB7YAPjs.getAppUrl; exports.getBootstrapper = _chunkGHE4VT2Rjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkT3YQ47EFjs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkT3YQ47EFjs.getGlobalErrorHandler; exports.getIcon = _chunkT3YQ47EFjs.getIcon; exports.getIconByModule = _chunkT3YQ47EFjs.getIconByModule; exports.getIconByModuleName = _chunkT3YQ47EFjs.getIconByModuleName; exports.getInitials = _chunkT3YQ47EFjs.getInitials; exports.getLastApiMeta = _chunkT3YQ47EFjs.getLastApiMeta; exports.getLastApiTotal = _chunkT3YQ47EFjs.getLastApiTotal; exports.getLucideIcon = _chunkT3YQ47EFjs.getLucideIcon; exports.getLucideIconByModule = _chunkT3YQ47EFjs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkT3YQ47EFjs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunkF4JB7YAPjs.getPublicApiUrl; exports.getReferralConfig = _chunkF4JB7YAPjs.getReferralConfig; exports.getRoleId = _chunkG4JR3SFVjs.getRoleId; exports.getSignupSource = _chunkF4JB7YAPjs.getSignupSource; exports.getStripePublishableKey = _chunkF4JB7YAPjs.getStripePublishableKey; exports.getTableComponents = _chunkT3YQ47EFjs.getTableComponents; exports.getTableOptions = _chunkT3YQ47EFjs.getTableOptions; exports.getTokenHandler = _chunkT3YQ47EFjs.getTokenHandler; exports.getTokenUsageCurrency = _chunkT3YQ47EFjs.getTokenUsageCurrency; exports.getTrackablePages = _chunkF4JB7YAPjs.getTrackablePages; exports.getValueFromPath = _chunkT3YQ47EFjs.getValueFromPath; exports.getWaitlistConfig = _chunkF4JB7YAPjs.getWaitlistConfig; exports.handbookPageContent = _chunkT3YQ47EFjs.handbookPageContent; exports.handbookPageSummary = _chunkT3YQ47EFjs.handbookPageSummary; exports.handbookPageTitle = _chunkT3YQ47EFjs.handbookPageTitle; exports.handbookSectionSummary = _chunkT3YQ47EFjs.handbookSectionSummary; exports.handbookSectionTitle = _chunkT3YQ47EFjs.handbookSectionTitle; exports.hasBootstrapper = _chunkGHE4VT2Rjs.hasBootstrapper; exports.isReferralEnabled = _chunkF4JB7YAPjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkT3YQ47EFjs.isRemoteImageSrc; exports.isRolesConfigured = _chunkG4JR3SFVjs.isRolesConfigured; exports.mergeMessages = _chunkT3YQ47EFjs.mergeMessages; exports.readSignupSourceFromLocation = _chunkF4JB7YAPjs.readSignupSourceFromLocation; exports.rehydrate = _chunkT3YQ47EFjs.rehydrate; exports.rehydrateList = _chunkT3YQ47EFjs.rehydrateList; exports.resetBootstrapStore = _chunkGHE4VT2Rjs.resetBootstrapStore; exports.setBootstrapper = _chunkGHE4VT2Rjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkT3YQ47EFjs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkT3YQ47EFjs.setGlobalErrorHandler; exports.showCustomToast = _chunkT3YQ47EFjs.showCustomToast; exports.showError = _chunkT3YQ47EFjs.showError; exports.showToast = _chunkT3YQ47EFjs.showToast; exports.toPromotionCodeResult = _chunkT3YQ47EFjs.toPromotionCodeResult; exports.tokenUsageModules = _chunkT3YQ47EFjs.tokenUsageModules; exports.translateData = _chunkGHE4VT2Rjs.translateData; exports.translateResponse = _chunkGHE4VT2Rjs.translateResponse; exports.tryBootstrap = _chunkGHE4VT2Rjs.tryBootstrap; exports.useComposedRefs = _chunkT3YQ47EFjs.useComposedRefs; exports.useIsMobile = _chunkT3YQ47EFjs.useIsMobile; exports.userObjectSchema = _chunkT3YQ47EFjs.userObjectSchema; exports.validateCodiceFiscale = _chunkT3YQ47EFjs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkT3YQ47EFjs.validateItalianTaxCode; exports.validatePartitaIva = _chunkT3YQ47EFjs.validatePartitaIva;
|
|
640
|
+
exports.ACTION_TYPES = _chunk3P3IYUWQjs.ACTION_TYPES; exports.AVAILABLE_OAUTH_SCOPES = _chunkGSHMGL6Njs.AVAILABLE_OAUTH_SCOPES; exports.AbstractApiData = _chunkGSHMGL6Njs.AbstractApiData; exports.AbstractService = _chunkGSHMGL6Njs.AbstractService; exports.Action = _chunkGSHMGL6Njs.Action; exports.AiConnection = _chunkGSHMGL6Njs.AiConnection; exports.AiConnectionFields = _chunkGSHMGL6Njs.AiConnectionFields; exports.AiConnectionModule = _chunkGSHMGL6Njs.AiConnectionModule; exports.AiConnectionService = _chunkGSHMGL6Njs.AiConnectionService; exports.Assistant = _chunkGSHMGL6Njs.Assistant; exports.AssistantAction = _chunkGSHMGL6Njs.AssistantAction; exports.AssistantActionModule = _chunkGSHMGL6Njs.AssistantActionModule; exports.AssistantActionService = _chunkGSHMGL6Njs.AssistantActionService; exports.AssistantMessage = _chunkGSHMGL6Njs.AssistantMessage; exports.AssistantMessageModule = _chunkGSHMGL6Njs.AssistantMessageModule; exports.AssistantMessageService = _chunkGSHMGL6Njs.AssistantMessageService; exports.AssistantModule = _chunkGSHMGL6Njs.AssistantModule; exports.AssistantService = _chunkGSHMGL6Njs.AssistantService; exports.AuditLog = _chunkGSHMGL6Njs.AuditLog; exports.AuditLogModule = _chunkGSHMGL6Njs.AuditLogModule; exports.AuditLogService = _chunkGSHMGL6Njs.AuditLogService; exports.Auth = _chunkGSHMGL6Njs.Auth; exports.AuthComponent = _chunkGSHMGL6Njs.AuthComponent; exports.AuthModule = _chunkGSHMGL6Njs.AuthModule; exports.AuthService = _chunkGSHMGL6Njs.AuthService; exports.AuthorModule = _chunkGSHMGL6Njs.AuthorModule; exports.BackupCodeVerify = _chunkGSHMGL6Njs.BackupCodeVerify; exports.BackupCodeVerifyModule = _chunkGSHMGL6Njs.BackupCodeVerifyModule; exports.Billing = _chunkGSHMGL6Njs.Billing; exports.BillingModule = _chunkGSHMGL6Njs.BillingModule; exports.BillingService = _chunkGSHMGL6Njs.BillingService; exports.BlockNoteDiffUtil = _chunkGSHMGL6Njs.BlockNoteDiffUtil; exports.BlockNoteWordDiffRendererUtil = _chunkGSHMGL6Njs.BlockNoteWordDiffRendererUtil; exports.BlogCategory = _chunkGSHMGL6Njs.BlogCategory; exports.BlogCategoryFields = _chunkGSHMGL6Njs.BlogCategoryFields; exports.BlogCategoryModule = _chunkGSHMGL6Njs.BlogCategoryModule; exports.BlogCategoryService = _chunkGSHMGL6Njs.BlogCategoryService; exports.BlogCategoryTranslation = _chunkGSHMGL6Njs.BlogCategoryTranslation; exports.BlogCategoryTranslationModule = _chunkGSHMGL6Njs.BlogCategoryTranslationModule; exports.BlogCategoryTranslationService = _chunkGSHMGL6Njs.BlogCategoryTranslationService; exports.BlogPost = _chunkGSHMGL6Njs.BlogPost; exports.BlogPostFields = _chunkGSHMGL6Njs.BlogPostFields; exports.BlogPostModule = _chunkGSHMGL6Njs.BlogPostModule; exports.BlogPostService = _chunkGSHMGL6Njs.BlogPostService; exports.BlogPostTranslation = _chunkGSHMGL6Njs.BlogPostTranslation; exports.BlogPostTranslationModule = _chunkGSHMGL6Njs.BlogPostTranslationModule; exports.BlogPostTranslationService = _chunkGSHMGL6Njs.BlogPostTranslationService; exports.BlogSettings = _chunkGSHMGL6Njs.BlogSettings; exports.BlogSettingsModule = _chunkGSHMGL6Njs.BlogSettingsModule; exports.BlogSettingsService = _chunkGSHMGL6Njs.BlogSettingsService; exports.COMPANY_ADMINISTRATOR_ROLE_ID = _chunk3P3IYUWQjs.COMPANY_ADMINISTRATOR_ROLE_ID; exports.CURRENT_USER_STORAGE_KEY = _chunkGSHMGL6Njs.CURRENT_USER_STORAGE_KEY; exports.Chunk = _chunkGSHMGL6Njs.Chunk; exports.ChunkModule = _chunkGSHMGL6Njs.ChunkModule; exports.ClientAbstractService = _chunkGSHMGL6Njs.ClientAbstractService; exports.ClientHttpMethod = _chunkGSHMGL6Njs.ClientHttpMethod; exports.Company = _chunkGSHMGL6Njs.Company; exports.CompanyFields = _chunkGSHMGL6Njs.CompanyFields; exports.CompanyModule = _chunkGSHMGL6Njs.CompanyModule; exports.CompanyService = _chunkGSHMGL6Njs.CompanyService; exports.Content = _chunkGSHMGL6Njs.Content; exports.ContentFields = _chunkGSHMGL6Njs.ContentFields; exports.ContentModule = _chunkGSHMGL6Njs.ContentModule; exports.ContentService = _chunkGSHMGL6Njs.ContentService; exports.DEFAULT_GRANT_TYPES = _chunkGSHMGL6Njs.DEFAULT_GRANT_TYPES; exports.DataClass = _chunkGHE4VT2Rjs.DataClassRegistry; exports.DataClassRegistry = _chunkGHE4VT2Rjs.DataClassRegistry; exports.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE = _chunkGSHMGL6Njs.EMAIL_AUTOMATION_UNSUBSCRIBE_TYPE; exports.ENV = _chunkGHE4VT2Rjs.ENV; exports.EmailAutomation = _chunkGSHMGL6Njs.EmailAutomation; exports.EmailAutomationEnrollment = _chunkGSHMGL6Njs.EmailAutomationEnrollment; exports.EmailAutomationEnrollmentFields = _chunkGSHMGL6Njs.EmailAutomationEnrollmentFields; exports.EmailAutomationEnrollmentModule = _chunkGSHMGL6Njs.EmailAutomationEnrollmentModule; exports.EmailAutomationEnrollmentService = _chunkGSHMGL6Njs.EmailAutomationEnrollmentService; exports.EmailAutomationFields = _chunkGSHMGL6Njs.EmailAutomationFields; exports.EmailAutomationModule = _chunkGSHMGL6Njs.EmailAutomationModule; exports.EmailAutomationService = _chunkGSHMGL6Njs.EmailAutomationService; exports.EmailAutomationStep = _chunkGSHMGL6Njs.EmailAutomationStep; exports.EmailAutomationStepModule = _chunkGSHMGL6Njs.EmailAutomationStepModule; exports.EmailAutomationStepService = _chunkGSHMGL6Njs.EmailAutomationStepService; exports.EmailAutomationTrigger = _chunkGSHMGL6Njs.EmailAutomationTrigger; exports.EmailAutomationTriggerModule = _chunkGSHMGL6Njs.EmailAutomationTriggerModule; exports.EndpointCreator = _chunkGSHMGL6Njs.EndpointCreator; exports.EntityAiStatus = _chunkGSHMGL6Njs.EntityAiStatus; exports.Feature = _chunkGSHMGL6Njs.Feature; exports.FeatureModule = _chunkGSHMGL6Njs.FeatureModule; exports.FeatureService = _chunkGSHMGL6Njs.FeatureService; exports.HandbookPage = _chunkGSHMGL6Njs.HandbookPage; exports.HandbookPageFields = _chunkGSHMGL6Njs.HandbookPageFields; exports.HandbookPageModule = _chunkGSHMGL6Njs.HandbookPageModule; exports.HandbookPageService = _chunkGSHMGL6Njs.HandbookPageService; exports.HandbookSection = _chunkGSHMGL6Njs.HandbookSection; exports.HandbookSectionModule = _chunkGSHMGL6Njs.HandbookSectionModule; exports.HandbookSectionService = _chunkGSHMGL6Njs.HandbookSectionService; exports.HandbookThread = _chunkGSHMGL6Njs.HandbookThread; exports.HandbookThreadMessage = _chunkGSHMGL6Njs.HandbookThreadMessage; exports.HandbookThreadMessageModule = _chunkGSHMGL6Njs.HandbookThreadMessageModule; exports.HandbookThreadMessageService = _chunkGSHMGL6Njs.HandbookThreadMessageService; exports.HandbookThreadModule = _chunkGSHMGL6Njs.HandbookThreadModule; exports.HandbookThreadService = _chunkGSHMGL6Njs.HandbookThreadService; exports.HowTo = _chunkGSHMGL6Njs.HowTo; exports.HowToFields = _chunkGSHMGL6Njs.HowToFields; exports.HowToModule = _chunkGSHMGL6Njs.HowToModule; exports.HowToService = _chunkGSHMGL6Njs.HowToService; exports.HttpMethod = _chunkGSHMGL6Njs.HttpMethod; exports.InvoiceStatus = _chunkGSHMGL6Njs.InvoiceStatus; exports.JsonApiDataFactory = _chunkGHE4VT2Rjs.JsonApiDataFactory; exports.MOBILE_BREAKPOINT = _chunkGSHMGL6Njs.MOBILE_BREAKPOINT; exports.Module = _chunkGSHMGL6Njs.Module; exports.ModuleModule = _chunkGSHMGL6Njs.ModuleModule; exports.ModulePaths = _chunkGSHMGL6Njs.ModulePaths; exports.ModulePathsModule = _chunkGSHMGL6Njs.ModulePathsModule; exports.ModuleRegistrar = _chunkGSHMGL6Njs.ModuleRegistrar; exports.ModuleRegistry = _chunkGSHMGL6Njs.ModuleRegistry; exports.Modules = _chunkGSHMGL6Njs.Modules; exports.Notification = _chunkGSHMGL6Njs.Notification; exports.NotificationFields = _chunkGSHMGL6Njs.NotificationFields; exports.NotificationModule = _chunkGSHMGL6Njs.NotificationModule; exports.NotificationService = _chunkGSHMGL6Njs.NotificationService; exports.OAUTH_SCOPE_DISPLAY = _chunkGSHMGL6Njs.OAUTH_SCOPE_DISPLAY; exports.OAuthClient = _chunkGSHMGL6Njs.OAuthClient; exports.OAuthModule = _chunkGSHMGL6Njs.OAuthModule; exports.OAuthService = _chunkGSHMGL6Njs.OAuthService; exports.Passkey = _chunkGSHMGL6Njs.Passkey; exports.PasskeyAuthenticationOptions = _chunkGSHMGL6Njs.PasskeyAuthenticationOptions; exports.PasskeyAuthenticationOptionsModule = _chunkGSHMGL6Njs.PasskeyAuthenticationOptionsModule; exports.PasskeyModule = _chunkGSHMGL6Njs.PasskeyModule; exports.PasskeyRegistrationOptions = _chunkGSHMGL6Njs.PasskeyRegistrationOptions; exports.PasskeyRegistrationOptionsModule = _chunkGSHMGL6Njs.PasskeyRegistrationOptionsModule; exports.PasskeyRegistrationVerify = _chunkGSHMGL6Njs.PasskeyRegistrationVerify; exports.PasskeyRegistrationVerifyModule = _chunkGSHMGL6Njs.PasskeyRegistrationVerifyModule; exports.PasskeyRename = _chunkGSHMGL6Njs.PasskeyRename; exports.PasskeyRenameModule = _chunkGSHMGL6Njs.PasskeyRenameModule; exports.PasskeyVerifyLogin = _chunkGSHMGL6Njs.PasskeyVerifyLogin; exports.PasskeyVerifyLoginModule = _chunkGSHMGL6Njs.PasskeyVerifyLoginModule; exports.PaymentMethod = _chunkGSHMGL6Njs.PaymentMethod; exports.PermissionMapping = _chunkGSHMGL6Njs.PermissionMapping; exports.PermissionMappingModule = _chunkGSHMGL6Njs.PermissionMappingModule; exports.Push = _chunkGSHMGL6Njs.Push; exports.PushModule = _chunkGSHMGL6Njs.PushModule; exports.PushService = _chunkGSHMGL6Njs.PushService; exports.RbacMatrixModel = _chunkGSHMGL6Njs.RbacMatrixModel; exports.RbacMatrixModule = _chunkGSHMGL6Njs.RbacMatrixModule; exports.RbacService = _chunk3P3IYUWQjs.RbacService; exports.ReferralModule = _chunkGSHMGL6Njs.ReferralModule; exports.ReferralService = _chunkGSHMGL6Njs.ReferralService; exports.ReferralStats = _chunkGSHMGL6Njs.ReferralStats; exports.ReferralStatsModule = _chunkGSHMGL6Njs.ReferralStatsModule; exports.RehydrationFactory = _chunkGSHMGL6Njs.RehydrationFactory; exports.Role = _chunkGSHMGL6Njs.Role; exports.RoleFields = _chunkGSHMGL6Njs.RoleFields; exports.RoleModule = _chunkGSHMGL6Njs.RoleModule; exports.RoleService = _chunkGSHMGL6Njs.RoleService; exports.S3 = _chunkGSHMGL6Njs.S3; exports.S3Module = _chunkGSHMGL6Njs.S3Module; exports.S3Service = _chunkGSHMGL6Njs.S3Service; exports.SIGNUP_SOURCE_COOKIE = _chunk3P3IYUWQjs.SIGNUP_SOURCE_COOKIE; exports.SIGNUP_SOURCE_COOKIE_MAX_AGE = _chunk3P3IYUWQjs.SIGNUP_SOURCE_COOKIE_MAX_AGE; exports.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT = _chunkGSHMGL6Njs.STRIPE_COUPON_CODE_AUTOMATIC_SEGMENT; exports.STRIPE_COUPON_DETAIL_PAGE_URL = _chunkGSHMGL6Njs.STRIPE_COUPON_DETAIL_PAGE_URL; exports.STRIPE_COUPON_REFRESH_SEGMENT = _chunkGSHMGL6Njs.STRIPE_COUPON_REFRESH_SEGMENT; exports.StripeCoupon = _chunkGSHMGL6Njs.StripeCoupon; exports.StripeCouponCode = _chunkGSHMGL6Njs.StripeCouponCode; exports.StripeCouponCodeFields = _chunkGSHMGL6Njs.StripeCouponCodeFields; exports.StripeCouponCodeModule = _chunkGSHMGL6Njs.StripeCouponCodeModule; exports.StripeCouponCodeService = _chunkGSHMGL6Njs.StripeCouponCodeService; exports.StripeCouponFields = _chunkGSHMGL6Njs.StripeCouponFields; exports.StripeCouponModule = _chunkGSHMGL6Njs.StripeCouponModule; exports.StripeCouponOffer = _chunkGSHMGL6Njs.StripeCouponOffer; exports.StripeCouponOfferModule = _chunkGSHMGL6Njs.StripeCouponOfferModule; exports.StripeCouponService = _chunkGSHMGL6Njs.StripeCouponService; exports.StripeCustomer = _chunkGSHMGL6Njs.StripeCustomer; exports.StripeCustomerModule = _chunkGSHMGL6Njs.StripeCustomerModule; exports.StripeCustomerService = _chunkGSHMGL6Njs.StripeCustomerService; exports.StripeInvoice = _chunkGSHMGL6Njs.StripeInvoice; exports.StripeInvoiceModule = _chunkGSHMGL6Njs.StripeInvoiceModule; exports.StripeInvoiceService = _chunkGSHMGL6Njs.StripeInvoiceService; exports.StripePaymentMethodModule = _chunkGSHMGL6Njs.StripePaymentMethodModule; exports.StripePrice = _chunkGSHMGL6Njs.StripePrice; exports.StripePriceFields = _chunkGSHMGL6Njs.StripePriceFields; exports.StripePriceModule = _chunkGSHMGL6Njs.StripePriceModule; exports.StripePriceService = _chunkGSHMGL6Njs.StripePriceService; exports.StripeProduct = _chunkGSHMGL6Njs.StripeProduct; exports.StripeProductFields = _chunkGSHMGL6Njs.StripeProductFields; exports.StripeProductModule = _chunkGSHMGL6Njs.StripeProductModule; exports.StripeProductService = _chunkGSHMGL6Njs.StripeProductService; exports.StripePromotionCode = _chunkGSHMGL6Njs.StripePromotionCode; exports.StripePromotionCodeModule = _chunkGSHMGL6Njs.StripePromotionCodeModule; exports.StripePromotionCodeService = _chunkGSHMGL6Njs.StripePromotionCodeService; exports.StripeSubscription = _chunkGSHMGL6Njs.StripeSubscription; exports.StripeSubscriptionModule = _chunkGSHMGL6Njs.StripeSubscriptionModule; exports.StripeSubscriptionService = _chunkGSHMGL6Njs.StripeSubscriptionService; exports.StripeUsage = _chunkGSHMGL6Njs.StripeUsage; exports.StripeUsageModule = _chunkGSHMGL6Njs.StripeUsageModule; exports.StripeUsageService = _chunkGSHMGL6Njs.StripeUsageService; exports.SubscriptionStatus = _chunkGSHMGL6Njs.SubscriptionStatus; exports.TableOptions = _chunkGSHMGL6Njs.TableOptions; exports.TokenUsageAdminBreakdownModule = _chunkGSHMGL6Njs.TokenUsageAdminBreakdownModule; exports.TokenUsageAdminSummaryModule = _chunkGSHMGL6Njs.TokenUsageAdminSummaryModule; exports.TokenUsageAdminTimelineModule = _chunkGSHMGL6Njs.TokenUsageAdminTimelineModule; exports.TotpAuthenticator = _chunkGSHMGL6Njs.TotpAuthenticator; exports.TotpAuthenticatorModule = _chunkGSHMGL6Njs.TotpAuthenticatorModule; exports.TotpSetup = _chunkGSHMGL6Njs.TotpSetup; exports.TotpSetupModule = _chunkGSHMGL6Njs.TotpSetupModule; exports.TotpVerify = _chunkGSHMGL6Njs.TotpVerify; exports.TotpVerifyLogin = _chunkGSHMGL6Njs.TotpVerifyLogin; exports.TotpVerifyLoginModule = _chunkGSHMGL6Njs.TotpVerifyLoginModule; exports.TotpVerifyModule = _chunkGSHMGL6Njs.TotpVerifyModule; exports.TwoFactorChallenge = _chunkGSHMGL6Njs.TwoFactorChallenge; exports.TwoFactorChallengeModule = _chunkGSHMGL6Njs.TwoFactorChallengeModule; exports.TwoFactorEnable = _chunkGSHMGL6Njs.TwoFactorEnable; exports.TwoFactorEnableModule = _chunkGSHMGL6Njs.TwoFactorEnableModule; exports.TwoFactorService = _chunkGSHMGL6Njs.TwoFactorService; exports.TwoFactorStatus = _chunkGSHMGL6Njs.TwoFactorStatus; exports.TwoFactorStatusModule = _chunkGSHMGL6Njs.TwoFactorStatusModule; exports.User = _chunkGSHMGL6Njs.User; exports.UserFields = _chunkGSHMGL6Njs.UserFields; exports.UserModule = _chunkGSHMGL6Njs.UserModule; exports.UserService = _chunkGSHMGL6Njs.UserService; exports.VIEWPORT_COOKIE_NAME = _chunkGSHMGL6Njs.VIEWPORT_COOKIE_NAME; exports.Waitlist = _chunkGSHMGL6Njs.Waitlist; exports.WaitlistFields = _chunkGSHMGL6Njs.WaitlistFields; exports.WaitlistModule = _chunkGSHMGL6Njs.WaitlistModule; exports.WaitlistService = _chunkGSHMGL6Njs.WaitlistService; exports.WaitlistStats = _chunkGSHMGL6Njs.WaitlistStats; exports.WaitlistStatsModule = _chunkGSHMGL6Njs.WaitlistStatsModule; exports.analyticsModules = _chunkGSHMGL6Njs.analyticsModules; exports.captureSignupSource = _chunk3P3IYUWQjs.captureSignupSource; exports.checkPermissions = _chunkGSHMGL6Njs.checkPermissions; exports.checkPermissionsFromServer = _chunkGSHMGL6Njs.checkPermissionsFromServer; exports.clearLastApiMeta = _chunkGSHMGL6Njs.clearLastApiMeta; exports.clearLastApiTotal = _chunkGSHMGL6Njs.clearLastApiTotal; exports.cn = _chunkGSHMGL6Njs.cn; exports.composeRefs = _chunkGSHMGL6Njs.composeRefs; exports.configureAuth = _chunkGSHMGL6Njs.configureAuth; exports.configureI18n = _chunkGSHMGL6Njs.configureI18n; exports.configureJsonApi = _chunk3P3IYUWQjs.configureJsonApi; exports.configureLogin = _chunk3P3IYUWQjs.configureLogin; exports.configureReferral = _chunk3P3IYUWQjs.configureReferral; exports.configureRoles = _chunkG4JR3SFVjs.configureRoles; exports.configureTokenUsage = _chunkGSHMGL6Njs.configureTokenUsage; exports.configureWaitlist = _chunk3P3IYUWQjs.configureWaitlist; exports.couponPlacesLeft = _chunkGSHMGL6Njs.couponPlacesLeft; exports.couponPlacesTotal = _chunkGSHMGL6Njs.couponPlacesTotal; exports.createJsonApiInclusion = _chunkGSHMGL6Njs.createJsonApiInclusion; exports.dateFormatLocale = _chunkGSHMGL6Njs.dateFormatLocale; exports.dismissToast = _chunkGSHMGL6Njs.dismissToast; exports.entityObjectSchema = _chunkGSHMGL6Njs.entityObjectSchema; exports.exists = _chunkGSHMGL6Njs.exists; exports.formatCodiceFiscale = _chunkGSHMGL6Njs.formatCodiceFiscale; exports.formatCouponDiscount = _chunkGSHMGL6Njs.formatCouponDiscount; exports.formatCurrency = _chunkGSHMGL6Njs.formatCurrency; exports.formatDate = _chunkGSHMGL6Njs.formatDate; exports.formatFixed = _chunkGSHMGL6Njs.formatFixed; exports.formatInterval = _chunkGSHMGL6Njs.formatInterval; exports.formatLocalDate = _chunkGSHMGL6Njs.formatLocalDate; exports.formatPartitaIva = _chunkGSHMGL6Njs.formatPartitaIva; exports.getApiUrl = _chunk3P3IYUWQjs.getApiUrl; exports.getAppUrl = _chunk3P3IYUWQjs.getAppUrl; exports.getBootstrapper = _chunkGHE4VT2Rjs.getBootstrapper; exports.getClientGlobalErrorHandler = _chunkGSHMGL6Njs.getClientGlobalErrorHandler; exports.getGlobalErrorHandler = _chunkGSHMGL6Njs.getGlobalErrorHandler; exports.getIcon = _chunkGSHMGL6Njs.getIcon; exports.getIconByModule = _chunkGSHMGL6Njs.getIconByModule; exports.getIconByModuleName = _chunkGSHMGL6Njs.getIconByModuleName; exports.getInitials = _chunkGSHMGL6Njs.getInitials; exports.getLastApiMeta = _chunkGSHMGL6Njs.getLastApiMeta; exports.getLastApiTotal = _chunkGSHMGL6Njs.getLastApiTotal; exports.getLucideIcon = _chunkGSHMGL6Njs.getLucideIcon; exports.getLucideIconByModule = _chunkGSHMGL6Njs.getLucideIconByModule; exports.getLucideIconByModuleName = _chunkGSHMGL6Njs.getLucideIconByModuleName; exports.getPublicApiUrl = _chunk3P3IYUWQjs.getPublicApiUrl; exports.getReferralConfig = _chunk3P3IYUWQjs.getReferralConfig; exports.getRoleId = _chunkG4JR3SFVjs.getRoleId; exports.getSignupSource = _chunk3P3IYUWQjs.getSignupSource; exports.getStripePublishableKey = _chunk3P3IYUWQjs.getStripePublishableKey; exports.getTableComponents = _chunkGSHMGL6Njs.getTableComponents; exports.getTableOptions = _chunkGSHMGL6Njs.getTableOptions; exports.getTokenHandler = _chunkGSHMGL6Njs.getTokenHandler; exports.getTokenUsageCurrency = _chunkGSHMGL6Njs.getTokenUsageCurrency; exports.getTrackablePages = _chunk3P3IYUWQjs.getTrackablePages; exports.getValueFromPath = _chunkGSHMGL6Njs.getValueFromPath; exports.getWaitlistConfig = _chunk3P3IYUWQjs.getWaitlistConfig; exports.handbookPageContent = _chunkGSHMGL6Njs.handbookPageContent; exports.handbookPageSummary = _chunkGSHMGL6Njs.handbookPageSummary; exports.handbookPageTitle = _chunkGSHMGL6Njs.handbookPageTitle; exports.handbookSectionSummary = _chunkGSHMGL6Njs.handbookSectionSummary; exports.handbookSectionTitle = _chunkGSHMGL6Njs.handbookSectionTitle; exports.hasBootstrapper = _chunkGHE4VT2Rjs.hasBootstrapper; exports.isReferralEnabled = _chunk3P3IYUWQjs.isReferralEnabled; exports.isRemoteImageSrc = _chunkGSHMGL6Njs.isRemoteImageSrc; exports.isRolesConfigured = _chunkG4JR3SFVjs.isRolesConfigured; exports.mergeMessages = _chunkGSHMGL6Njs.mergeMessages; exports.readSignupSourceFromLocation = _chunk3P3IYUWQjs.readSignupSourceFromLocation; exports.rehydrate = _chunkGSHMGL6Njs.rehydrate; exports.rehydrateList = _chunkGSHMGL6Njs.rehydrateList; exports.resetBootstrapStore = _chunkGHE4VT2Rjs.resetBootstrapStore; exports.setBootstrapper = _chunkGHE4VT2Rjs.setBootstrapper; exports.setClientGlobalErrorHandler = _chunkGSHMGL6Njs.setClientGlobalErrorHandler; exports.setGlobalErrorHandler = _chunkGSHMGL6Njs.setGlobalErrorHandler; exports.showCustomToast = _chunkGSHMGL6Njs.showCustomToast; exports.showError = _chunkGSHMGL6Njs.showError; exports.showToast = _chunkGSHMGL6Njs.showToast; exports.toPromotionCodeResult = _chunkGSHMGL6Njs.toPromotionCodeResult; exports.tokenUsageModules = _chunkGSHMGL6Njs.tokenUsageModules; exports.translateData = _chunkGHE4VT2Rjs.translateData; exports.translateResponse = _chunkGHE4VT2Rjs.translateResponse; exports.tryBootstrap = _chunkGHE4VT2Rjs.tryBootstrap; exports.useComposedRefs = _chunkGSHMGL6Njs.useComposedRefs; exports.useIsMobile = _chunkGSHMGL6Njs.useIsMobile; exports.userObjectSchema = _chunkGSHMGL6Njs.userObjectSchema; exports.validateCodiceFiscale = _chunkGSHMGL6Njs.validateCodiceFiscale; exports.validateItalianTaxCode = _chunkGSHMGL6Njs.validateItalianTaxCode; exports.validatePartitaIva = _chunkGSHMGL6Njs.validatePartitaIva;
|
|
641
641
|
//# sourceMappingURL=index.js.map
|
package/dist/index.mjs
CHANGED
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
getWaitlistConfig,
|
|
20
20
|
isReferralEnabled,
|
|
21
21
|
readSignupSourceFromLocation
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-CUNSPLOD.mjs";
|
|
23
23
|
import {
|
|
24
24
|
configureRoles,
|
|
25
25
|
getRoleId,
|
|
@@ -306,7 +306,7 @@ import {
|
|
|
306
306
|
validateCodiceFiscale,
|
|
307
307
|
validateItalianTaxCode,
|
|
308
308
|
validatePartitaIva
|
|
309
|
-
} from "./chunk-
|
|
309
|
+
} from "./chunk-QKDPCZ3G.mjs";
|
|
310
310
|
import {
|
|
311
311
|
DataClassRegistry,
|
|
312
312
|
ENV,
|
package/dist/server/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkUEWDYVLWjs = require('../chunk-UEWDYVLW.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
var _chunkIK65TDQHjs = require('../chunk-IK65TDQH.js');
|
|
@@ -35,7 +35,7 @@ require('../chunk-G4JR3SFV.js');
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
var
|
|
38
|
+
var _chunkGSHMGL6Njs = require('../chunk-GSHMGL6N.js');
|
|
39
39
|
require('../chunk-GHE4VT2R.js');
|
|
40
40
|
require('../chunk-LXKSUWAV.js');
|
|
41
41
|
require('../chunk-JTPRJNT2.js');
|
|
@@ -66,5 +66,5 @@ require('../chunk-7QVYU63E.js');
|
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
exports.CACHE_PROFILES = _chunkIK65TDQHjs.CACHE_PROFILES; exports.ServerAuthService =
|
|
69
|
+
exports.CACHE_PROFILES = _chunkIK65TDQHjs.CACHE_PROFILES; exports.ServerAuthService = _chunkGSHMGL6Njs.AuthService; exports.ServerCompanyService = _chunkGSHMGL6Njs.CompanyService; exports.ServerContentService = _chunkGSHMGL6Njs.ContentService; exports.ServerFeatureService = _chunkGSHMGL6Njs.FeatureService; exports.ServerJsonApiDelete = _chunkKSYQEKJXjs.ServerJsonApiDelete; exports.ServerJsonApiGet = _chunkKSYQEKJXjs.ServerJsonApiGet; exports.ServerJsonApiPatch = _chunkKSYQEKJXjs.ServerJsonApiPatch; exports.ServerJsonApiPost = _chunkKSYQEKJXjs.ServerJsonApiPost; exports.ServerJsonApiPut = _chunkKSYQEKJXjs.ServerJsonApiPut; exports.ServerNotificationService = _chunkGSHMGL6Njs.NotificationService; exports.ServerPushService = _chunkGSHMGL6Njs.PushService; exports.ServerRoleService = _chunkGSHMGL6Njs.RoleService; exports.ServerS3Service = _chunkGSHMGL6Njs.S3Service; exports.ServerSession = _chunkUEWDYVLWjs.ServerSession; exports.ServerUserService = _chunkGSHMGL6Njs.UserService; exports.configureServerJsonApi = _chunkKSYQEKJXjs.configureServerJsonApi; exports.getServerApiUrl = _chunkKSYQEKJXjs.getServerApiUrl; exports.getServerAppUrl = _chunkKSYQEKJXjs.getServerAppUrl; exports.getServerToken = _chunkYUO55Q5Ajs.getServerToken; exports.getServerTrackablePages = _chunkKSYQEKJXjs.getServerTrackablePages; exports.invalidateCacheTag = _chunkUEWDYVLWjs.invalidateCacheTag; exports.invalidateCacheTags = _chunkUEWDYVLWjs.invalidateCacheTags; exports.serverRequest = _chunk6TUB7Y6Tjs.serverRequest; exports.updateCacheTag = _chunkUEWDYVLWjs.updateCacheTag;
|
|
70
70
|
//# sourceMappingURL=index.js.map
|
package/dist/server/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
invalidateCacheTag,
|
|
4
4
|
invalidateCacheTags,
|
|
5
5
|
updateCacheTag
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-HLW3SUMD.mjs";
|
|
7
7
|
import {
|
|
8
8
|
CACHE_PROFILES
|
|
9
9
|
} from "../chunk-T7SAW3UW.mjs";
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
RoleService,
|
|
36
36
|
S3Service,
|
|
37
37
|
UserService
|
|
38
|
-
} from "../chunk-
|
|
38
|
+
} from "../chunk-QKDPCZ3G.mjs";
|
|
39
39
|
import "../chunk-V5MI7RNB.mjs";
|
|
40
40
|
import "../chunk-AUXK7QSA.mjs";
|
|
41
41
|
import "../chunk-PI56A4DG.mjs";
|
package/messages/en.json
CHANGED
|
@@ -1776,17 +1776,40 @@
|
|
|
1776
1776
|
"empty": "No usage recorded in this period"
|
|
1777
1777
|
},
|
|
1778
1778
|
"types": {
|
|
1779
|
+
"analyser": "Analysis",
|
|
1780
|
+
"blogSummary": "Blog summaries",
|
|
1781
|
+
"blogTranslation": "Blog translations",
|
|
1779
1782
|
"communitySummariser": "Community overviews",
|
|
1783
|
+
"counterpartIdentificator": "Counterpart identification",
|
|
1780
1784
|
"customer": "Customer",
|
|
1781
1785
|
"embedding": "Search indexing",
|
|
1786
|
+
"ethicist": "Ethics review",
|
|
1782
1787
|
"graphCreator": "Connection mapping",
|
|
1788
|
+
"imageAnalysis": "Image analysis",
|
|
1783
1789
|
"imageGeneration": "Image generation",
|
|
1784
1790
|
"operator": "Assistant actions",
|
|
1785
1791
|
"platform": "Platform",
|
|
1786
1792
|
"responder": "Assistant answers",
|
|
1793
|
+
"retrievalEval": "Search quality tests",
|
|
1794
|
+
"strategy": "Strategy",
|
|
1787
1795
|
"summariser": "Summarisation",
|
|
1788
1796
|
"textGeneration": "Text generation",
|
|
1789
1797
|
"transcription": "Transcription"
|
|
1798
|
+
},
|
|
1799
|
+
"type_descriptions": {
|
|
1800
|
+
"blogSummary": "Writes the summary of each blog post.",
|
|
1801
|
+
"blogTranslation": "Translates blog posts and their categories into the other languages.",
|
|
1802
|
+
"communitySummariser": "Writes an overview of each group of related content.",
|
|
1803
|
+
"embedding": "Turns content into search vectors, so search and the assistant can find it.",
|
|
1804
|
+
"graphCreator": "Reads new content and extracts its facts and the connections between the people, places and things it mentions.",
|
|
1805
|
+
"imageAnalysis": "Reads the images inside uploaded documents so their content can be searched.",
|
|
1806
|
+
"imageGeneration": "Creates images from a written description.",
|
|
1807
|
+
"operator": "Actions the assistant carries out, such as searching or changing content.",
|
|
1808
|
+
"responder": "The assistant's answers to questions.",
|
|
1809
|
+
"retrievalEval": "Grades search quality during internal tests. Never started by customers.",
|
|
1810
|
+
"summariser": "Writes summaries of processed content.",
|
|
1811
|
+
"textGeneration": "AI writing in the editor, plus any AI call that does not record a more specific category.",
|
|
1812
|
+
"transcription": "Turns recorded audio into text."
|
|
1790
1813
|
}
|
|
1791
1814
|
},
|
|
1792
1815
|
"ui": {
|
package/messages/it.json
CHANGED
|
@@ -1776,17 +1776,40 @@
|
|
|
1776
1776
|
"empty": "Nessun utilizzo registrato in questo periodo"
|
|
1777
1777
|
},
|
|
1778
1778
|
"types": {
|
|
1779
|
+
"analyser": "Analisi",
|
|
1780
|
+
"blogSummary": "Riassunti del blog",
|
|
1781
|
+
"blogTranslation": "Traduzioni del blog",
|
|
1779
1782
|
"communitySummariser": "Panoramiche delle comunità",
|
|
1783
|
+
"counterpartIdentificator": "Identificazione delle controparti",
|
|
1780
1784
|
"customer": "Cliente",
|
|
1781
1785
|
"embedding": "Indicizzazione per la ricerca",
|
|
1786
|
+
"ethicist": "Revisione etica",
|
|
1782
1787
|
"graphCreator": "Mappatura dei collegamenti",
|
|
1788
|
+
"imageAnalysis": "Analisi delle immagini",
|
|
1783
1789
|
"imageGeneration": "Generazione di immagini",
|
|
1784
1790
|
"operator": "Azioni dell'assistente",
|
|
1785
1791
|
"platform": "Piattaforma",
|
|
1786
1792
|
"responder": "Risposte dell'assistente",
|
|
1793
|
+
"retrievalEval": "Test di qualità della ricerca",
|
|
1794
|
+
"strategy": "Strategia",
|
|
1787
1795
|
"summariser": "Riassunti",
|
|
1788
1796
|
"textGeneration": "Generazione di testo",
|
|
1789
1797
|
"transcription": "Trascrizione"
|
|
1798
|
+
},
|
|
1799
|
+
"type_descriptions": {
|
|
1800
|
+
"blogSummary": "Scrive il riassunto di ogni articolo del blog.",
|
|
1801
|
+
"blogTranslation": "Traduce gli articoli del blog e le loro categorie nelle altre lingue.",
|
|
1802
|
+
"communitySummariser": "Scrive una panoramica di ogni gruppo di contenuti collegati.",
|
|
1803
|
+
"embedding": "Trasforma i contenuti in vettori di ricerca, così la ricerca e l'assistente possono trovarli.",
|
|
1804
|
+
"graphCreator": "Legge i nuovi contenuti ed estrae i fatti e i collegamenti tra le persone, i luoghi e le cose citate.",
|
|
1805
|
+
"imageAnalysis": "Legge le immagini dentro i documenti caricati, così il loro contenuto diventa ricercabile.",
|
|
1806
|
+
"imageGeneration": "Crea immagini a partire da una descrizione scritta.",
|
|
1807
|
+
"operator": "Le azioni svolte dall'assistente, come cercare o modificare contenuti.",
|
|
1808
|
+
"responder": "Le risposte dell'assistente alle domande.",
|
|
1809
|
+
"retrievalEval": "Valuta la qualità della ricerca durante i test interni. Mai avviato dai clienti.",
|
|
1810
|
+
"summariser": "Scrive i riassunti dei contenuti elaborati.",
|
|
1811
|
+
"textGeneration": "La scrittura con l'AI nell'editor, più ogni chiamata AI che non registra una categoria più specifica.",
|
|
1812
|
+
"transcription": "Trasforma l'audio registrato in testo."
|
|
1790
1813
|
}
|
|
1791
1814
|
},
|
|
1792
1815
|
"ui": {
|
package/package.json
CHANGED
|
@@ -35,7 +35,10 @@ export const APP_PROVIDED_KEYS = [
|
|
|
35
35
|
// Token-usage operation types an app backend defines (operation-label.ts: the
|
|
36
36
|
// app supplies this vocabulary, unknown types render raw). Only the types the
|
|
37
37
|
// backend library emits, plus its customer/platform scopes, ship.
|
|
38
|
-
/^token_usage\.types\.(?!(?:analyser|communitySummariser|counterpartIdentificator|customer|embedding|ethicist|graphCreator|imageAnalysis|imageGeneration|operator|platform|responder|strategy|summariser|textGeneration|transcription)$)/,
|
|
38
|
+
/^token_usage\.types\.(?!(?:analyser|blogSummary|blogTranslation|communitySummariser|counterpartIdentificator|customer|embedding|ethicist|graphCreator|imageAnalysis|imageGeneration|operator|platform|responder|retrievalEval|strategy|summariser|textGeneration|transcription)$)/,
|
|
39
|
+
// Their optional explanations (operation-label.ts operationDescription): same
|
|
40
|
+
// rule, only the library-emitted types ship one.
|
|
41
|
+
/^token_usage\.type_descriptions\.(?!(?:analyser|blogSummary|blogTranslation|communitySummariser|counterpartIdentificator|embedding|ethicist|graphCreator|imageAnalysis|imageGeneration|operator|responder|retrievalEval|strategy|summariser|textGeneration|transcription)$)/,
|
|
39
42
|
];
|
|
40
43
|
|
|
41
44
|
// Values the app-word rule would flag although the word is the library's own
|
|
@@ -20,7 +20,13 @@ type Attribution = Pick<
|
|
|
20
20
|
>;
|
|
21
21
|
|
|
22
22
|
type AnalyticsTrackerProps = {
|
|
23
|
-
|
|
23
|
+
/**
|
|
24
|
+
* `undefined` while the app has not read its consent store yet: the tracker sends
|
|
25
|
+
* nothing and leaves the visitor cookie alone. `false` when there is no consent
|
|
26
|
+
* (refused or not chosen yet): the cookie is cleared and page views go out without
|
|
27
|
+
* an id. Never pass `false` as a placeholder for "not read yet".
|
|
28
|
+
*/
|
|
29
|
+
hasConsent?: boolean;
|
|
24
30
|
resolveSection: (pathname: string) => "public" | "app";
|
|
25
31
|
sensitivePrefixes?: string[];
|
|
26
32
|
};
|
|
@@ -63,11 +69,16 @@ function maskSensitivePath(path: string, sensitivePrefixes: string[] | undefined
|
|
|
63
69
|
export function AnalyticsTracker({ hasConsent, resolveSection, sensitivePrefixes }: AnalyticsTrackerProps): null {
|
|
64
70
|
const pathname = usePathname();
|
|
65
71
|
const lastPath = useRef<string | null>(null);
|
|
66
|
-
|
|
72
|
+
// The last consent value the app actually read. `undefined` until then, so a page
|
|
73
|
+
// load with consent already stored is never mistaken for the Accept click.
|
|
74
|
+
const lastKnownConsent = useRef<boolean | undefined>(undefined);
|
|
67
75
|
const attribution = useRef<Attribution | null>(null);
|
|
68
76
|
|
|
69
77
|
useEffect(() => {
|
|
70
|
-
|
|
78
|
+
// Consent not read yet: send nothing and keep the cookie, or a visitor who
|
|
79
|
+
// already accepted would lose their id on every tracker mount.
|
|
80
|
+
if (hasConsent === undefined) return;
|
|
81
|
+
if (hasConsent === false) clearVisitorCookie();
|
|
71
82
|
|
|
72
83
|
if (!pathname) return;
|
|
73
84
|
if (typeof navigator !== "undefined" && navigator.webdriver) return;
|
|
@@ -75,12 +86,13 @@ export function AnalyticsTracker({ hasConsent, resolveSection, sensitivePrefixes
|
|
|
75
86
|
const path = pathname.split(/[?#]/)[0] || "/";
|
|
76
87
|
if (path.startsWith(EXCLUDED_PREFIX)) return;
|
|
77
88
|
|
|
78
|
-
// One event per distinct path. The same path is sent again only when
|
|
79
|
-
//
|
|
89
|
+
// One event per distinct path. The same path is sent again only when the
|
|
90
|
+
// visitor clicks Accept (a known `false` turning `true`), flagged so the API
|
|
91
|
+
// moves the open cookieless session onto the cookie id.
|
|
80
92
|
const isNewPath = lastPath.current !== path;
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
if (!isNewPath && !
|
|
93
|
+
const consentGranted = hasConsent === true && lastKnownConsent.current === false;
|
|
94
|
+
lastKnownConsent.current = hasConsent;
|
|
95
|
+
if (!isNewPath && !consentGranted) return;
|
|
84
96
|
lastPath.current = path;
|
|
85
97
|
|
|
86
98
|
const sentPath = maskSensitivePath(path, sensitivePrefixes);
|
|
@@ -93,6 +105,7 @@ export function AnalyticsTracker({ hasConsent, resolveSection, sensitivePrefixes
|
|
|
93
105
|
};
|
|
94
106
|
|
|
95
107
|
if (hasConsent) input.visitorId = ensureVisitorCookie();
|
|
108
|
+
if (consentGranted) input.consentGranted = true;
|
|
96
109
|
|
|
97
110
|
// The first event of the page load carries the attribution. The event sent
|
|
98
111
|
// because consent was just granted carries it again, so the session opened
|
|
@@ -102,7 +115,7 @@ export function AnalyticsTracker({ hasConsent, resolveSection, sensitivePrefixes
|
|
|
102
115
|
const referrer = readExternalReferrer();
|
|
103
116
|
attribution.current = { ...(referrer ? { referrer } : {}), ...readUtm(window.location.search) };
|
|
104
117
|
}
|
|
105
|
-
if (isFirstEvent ||
|
|
118
|
+
if (isFirstEvent || consentGranted) Object.assign(input, attribution.current);
|
|
106
119
|
|
|
107
120
|
// AnalyticsService.track never rejects: it logs and swallows its own failures.
|
|
108
121
|
void AnalyticsService.track(input);
|
|
@@ -215,6 +215,73 @@ describe("AnalyticsTracker", () => {
|
|
|
215
215
|
expect(eventAt(1)).toEqual(expect.objectContaining({ path: "/pricing", visitorId: expect.stringMatching(UUID) }));
|
|
216
216
|
});
|
|
217
217
|
|
|
218
|
+
it("sends nothing and keeps the cookie while consent is unknown", () => {
|
|
219
|
+
document.cookie = "analytics_visitor=keep-me; path=/";
|
|
220
|
+
mocks.pathname = "/";
|
|
221
|
+
const { rerender } = render(<AnalyticsTracker hasConsent={undefined} resolveSection={publicSection} />);
|
|
222
|
+
|
|
223
|
+
mocks.pathname = "/pricing";
|
|
224
|
+
rerender(<AnalyticsTracker hasConsent={undefined} resolveSection={publicSection} />);
|
|
225
|
+
|
|
226
|
+
expect(mocks.track).not.toHaveBeenCalled();
|
|
227
|
+
expect(document.cookie).toContain("analytics_visitor=keep-me");
|
|
228
|
+
|
|
229
|
+
rerender(<AnalyticsTracker hasConsent={true} resolveSection={publicSection} />);
|
|
230
|
+
|
|
231
|
+
expect(mocks.track).toHaveBeenCalledTimes(1);
|
|
232
|
+
expect(eventAt(0).path).toBe("/pricing");
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
it("keeps the existing cookie id when unknown consent resolves to accepted", () => {
|
|
236
|
+
document.cookie = "analytics_visitor=keep-me; path=/";
|
|
237
|
+
mocks.pathname = "/pricing";
|
|
238
|
+
const { rerender } = render(<AnalyticsTracker hasConsent={undefined} resolveSection={publicSection} />);
|
|
239
|
+
rerender(<AnalyticsTracker hasConsent={true} resolveSection={publicSection} />);
|
|
240
|
+
|
|
241
|
+
expect(mocks.track).toHaveBeenCalledTimes(1);
|
|
242
|
+
expect(eventAt(0)).toEqual(expect.objectContaining({ visitorId: "keep-me" }));
|
|
243
|
+
expect(eventAt(0)).not.toHaveProperty("consentGranted");
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
it("clears the cookie once unknown consent resolves to refused", () => {
|
|
247
|
+
document.cookie = "analytics_visitor=keep-me; path=/";
|
|
248
|
+
mocks.pathname = "/pricing";
|
|
249
|
+
const { rerender } = render(<AnalyticsTracker hasConsent={undefined} resolveSection={publicSection} />);
|
|
250
|
+
|
|
251
|
+
expect(mocks.track).not.toHaveBeenCalled();
|
|
252
|
+
expect(document.cookie).toContain("analytics_visitor=keep-me");
|
|
253
|
+
|
|
254
|
+
rerender(<AnalyticsTracker hasConsent={false} resolveSection={publicSection} />);
|
|
255
|
+
|
|
256
|
+
expect(mocks.track).toHaveBeenCalledTimes(1);
|
|
257
|
+
expect(eventAt(0).visitorId).toBeUndefined();
|
|
258
|
+
expect(document.cookie).not.toContain("analytics_visitor");
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
it("carries attribution on the first known event", () => {
|
|
262
|
+
setReferrer("https://elsewhere.example/");
|
|
263
|
+
mocks.pathname = "/pricing";
|
|
264
|
+
const { rerender } = render(<AnalyticsTracker hasConsent={undefined} resolveSection={publicSection} />);
|
|
265
|
+
rerender(<AnalyticsTracker hasConsent={true} resolveSection={publicSection} />);
|
|
266
|
+
|
|
267
|
+
expect(mocks.track).toHaveBeenCalledTimes(1);
|
|
268
|
+
expect(eventAt(0)).toEqual(
|
|
269
|
+
expect.objectContaining({ referrer: "https://elsewhere.example/", visitorId: expect.stringMatching(UUID) }),
|
|
270
|
+
);
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
it("flags the accept click", () => {
|
|
274
|
+
mocks.pathname = "/pricing";
|
|
275
|
+
const { rerender } = render(<AnalyticsTracker hasConsent={false} resolveSection={publicSection} />);
|
|
276
|
+
rerender(<AnalyticsTracker hasConsent={true} resolveSection={publicSection} />);
|
|
277
|
+
|
|
278
|
+
expect(mocks.track).toHaveBeenCalledTimes(2);
|
|
279
|
+
expect(eventAt(0)).not.toHaveProperty("consentGranted");
|
|
280
|
+
expect(eventAt(1)).toEqual(
|
|
281
|
+
expect.objectContaining({ consentGranted: true, visitorId: expect.stringMatching(UUID) }),
|
|
282
|
+
);
|
|
283
|
+
});
|
|
284
|
+
|
|
218
285
|
it("skips automated browsers and the analytics admin pages", () => {
|
|
219
286
|
setWebdriver(true);
|
|
220
287
|
mocks.pathname = "/pricing";
|
|
@@ -212,6 +212,19 @@ describe("analytics models — createJsonApi", () => {
|
|
|
212
212
|
expect(Object.keys(doc.data.relationships ?? {})).toHaveLength(0);
|
|
213
213
|
});
|
|
214
214
|
|
|
215
|
+
it("serialises consentGranted only when given", () => {
|
|
216
|
+
const flagged = new AnalyticsEvent().createJsonApi({
|
|
217
|
+
id: "e2",
|
|
218
|
+
path: "/",
|
|
219
|
+
section: "public",
|
|
220
|
+
consentGranted: true,
|
|
221
|
+
});
|
|
222
|
+
const plain = new AnalyticsEvent().createJsonApi({ id: "e3", path: "/", section: "public" });
|
|
223
|
+
|
|
224
|
+
expect(flagged.data.attributes.consentGranted).toBe(true);
|
|
225
|
+
expect(plain.data.attributes).not.toHaveProperty("consentGranted");
|
|
226
|
+
});
|
|
227
|
+
|
|
215
228
|
it("serialises a summary back to a JSON:API resource object", () => {
|
|
216
229
|
const doc = new AnalyticsSummary().createJsonApi({
|
|
217
230
|
id: "all|current",
|
|
@@ -57,6 +57,7 @@ export class AnalyticsEvent extends AbstractApiData implements AnalyticsEventInt
|
|
|
57
57
|
if (data.utmContent !== undefined) response.data.attributes.utmContent = data.utmContent;
|
|
58
58
|
if (data.visitorId !== undefined) response.data.attributes.visitorId = data.visitorId;
|
|
59
59
|
if (data.screenWidth !== undefined) response.data.attributes.screenWidth = data.screenWidth;
|
|
60
|
+
if (data.consentGranted !== undefined) response.data.attributes.consentGranted = data.consentGranted;
|
|
60
61
|
|
|
61
62
|
return response;
|
|
62
63
|
}
|
|
@@ -31,6 +31,8 @@ export type AnalyticsEventInput = {
|
|
|
31
31
|
utmContent?: string;
|
|
32
32
|
visitorId?: string;
|
|
33
33
|
screenWidth?: number;
|
|
34
|
+
/** True only on the event sent by the Accept click: the API adopts the open cookieless session. */
|
|
35
|
+
consentGranted?: boolean;
|
|
34
36
|
};
|
|
35
37
|
|
|
36
38
|
// Input types for the read-only models' createJsonApi(). `id` is always
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { useTranslations } from "next-intl";
|
|
4
|
+
import { Tooltip, TooltipContent, TooltipTrigger } from "../../../shadcnui";
|
|
4
5
|
import type { Metric } from "../data/tokenusage-admin.types";
|
|
5
6
|
import { useUsageFormatters } from "../lib/formatters";
|
|
6
7
|
import { metricValue, type TokenUsageMetrics } from "../lib/metrics";
|
|
7
|
-
import { operationLabel } from "../lib/operation-label";
|
|
8
|
+
import { operationDescription, operationLabel } from "../lib/operation-label";
|
|
8
9
|
import { SEQUENTIAL_RAMP } from "../lib/palette";
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -65,6 +66,37 @@ export function TokenUsageRankedBar({ rows, metric, emptyLabel, labelsAreOperati
|
|
|
65
66
|
);
|
|
66
67
|
};
|
|
67
68
|
|
|
69
|
+
const renderDescription = (row: TokenUsageRankedRow): string | undefined => {
|
|
70
|
+
if (row.id === "other" || !labelsAreOperationTypes) return undefined;
|
|
71
|
+
return operationDescription(
|
|
72
|
+
row.label,
|
|
73
|
+
(key) => t(key),
|
|
74
|
+
(key) => t.has(key),
|
|
75
|
+
);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
// An operation type the app explains gets its explanation on hover; every
|
|
79
|
+
// other label (names, the folded "other" row) renders as plain text.
|
|
80
|
+
const renderLabelCell = (row: TokenUsageRankedRow) => {
|
|
81
|
+
const label = <span className="text-muted-foreground truncate text-xs">{renderLabel(row)}</span>;
|
|
82
|
+
const description = renderDescription(row);
|
|
83
|
+
if (!description) return label;
|
|
84
|
+
return (
|
|
85
|
+
<Tooltip>
|
|
86
|
+
<TooltipTrigger
|
|
87
|
+
data-testid={`ranked-description-${row.id}`}
|
|
88
|
+
className="min-w-0 cursor-help justify-self-start truncate"
|
|
89
|
+
render={<div />}
|
|
90
|
+
>
|
|
91
|
+
{label}
|
|
92
|
+
</TooltipTrigger>
|
|
93
|
+
<TooltipContent side="top" className="max-w-xs">
|
|
94
|
+
<p className="text-xs">{description}</p>
|
|
95
|
+
</TooltipContent>
|
|
96
|
+
</Tooltip>
|
|
97
|
+
);
|
|
98
|
+
};
|
|
99
|
+
|
|
68
100
|
if (rows.length === 0) {
|
|
69
101
|
return <p className="text-muted-foreground py-6 text-center text-sm">{emptyLabel}</p>;
|
|
70
102
|
}
|
|
@@ -89,7 +121,7 @@ export function TokenUsageRankedBar({ rows, metric, emptyLabel, labelsAreOperati
|
|
|
89
121
|
return (
|
|
90
122
|
<div key={row.id} className="grid grid-cols-[minmax(0,1fr)_auto_auto] items-center gap-x-3 gap-y-0.5 py-0.5">
|
|
91
123
|
<div className="grid min-w-0 gap-0.5">
|
|
92
|
-
|
|
124
|
+
{renderLabelCell(row)}
|
|
93
125
|
{/* The bar itself is a magnitude drawn on an axis, not prose: it always grows
|
|
94
126
|
rightward and only its trailing corner is rounded, so the track and its fill
|
|
95
127
|
stay an LTR island. The label, value and share around it mirror normally.
|
|
@@ -40,4 +40,26 @@ describe("TokenUsageRankedBar", () => {
|
|
|
40
40
|
expect(new Set(colours).size).toBe(3);
|
|
41
41
|
expect(colours).toEqual(["0", "1", "2"]);
|
|
42
42
|
});
|
|
43
|
+
|
|
44
|
+
it("puts the operation description behind a tooltip on operation rows, never on the folded tail", () => {
|
|
45
|
+
render(
|
|
46
|
+
<TokenUsageRankedBar
|
|
47
|
+
rows={[row("blog_translation", "blog_translation", 3), row("other", "other", 1)]}
|
|
48
|
+
metric="cost"
|
|
49
|
+
emptyLabel="nessun dato"
|
|
50
|
+
labelsAreOperationTypes
|
|
51
|
+
/>,
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
expect(screen.getByTestId("ranked-description-blog_translation")).toHaveTextContent(
|
|
55
|
+
"token_usage.types.blogTranslation",
|
|
56
|
+
);
|
|
57
|
+
expect(screen.queryByTestId("ranked-description-other")).not.toBeInTheDocument();
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it("renders entity names without a tooltip", () => {
|
|
61
|
+
render(<TokenUsageRankedBar rows={[row("a", "Studio Rossi", 1)]} metric="cost" emptyLabel="nessun dato" />);
|
|
62
|
+
expect(screen.queryByTestId("ranked-description-a")).not.toBeInTheDocument();
|
|
63
|
+
expect(screen.getByText("Studio Rossi")).toBeInTheDocument();
|
|
64
|
+
});
|
|
43
65
|
});
|
|
@@ -8,6 +8,13 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export const OPERATION_LABEL_NAMESPACE = "token_usage.types";
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Sibling namespace for an optional one-line explanation of each operation
|
|
13
|
+
* type, keyed exactly like `OPERATION_LABEL_NAMESPACE`. A type without an entry
|
|
14
|
+
* simply has no explanation — nothing falls back to the raw key here.
|
|
15
|
+
*/
|
|
16
|
+
export const OPERATION_DESCRIPTION_NAMESPACE = "token_usage.type_descriptions";
|
|
17
|
+
|
|
11
18
|
/**
|
|
12
19
|
* `snake_case` / `kebab-case` → `camelCase`, the shape the i18n keys use.
|
|
13
20
|
*
|
|
@@ -39,3 +46,16 @@ export const operationLabel = (
|
|
|
39
46
|
const key = `${OPERATION_LABEL_NAMESPACE}.${toCamelCase(type)}`;
|
|
40
47
|
return has(key) ? translate(key) : type;
|
|
41
48
|
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Resolves an operation type to its explanation, or `undefined` when the
|
|
52
|
+
* consuming app (or the package) provides none.
|
|
53
|
+
*/
|
|
54
|
+
export const operationDescription = (
|
|
55
|
+
type: string,
|
|
56
|
+
translate: (key: string) => string,
|
|
57
|
+
has: (key: string) => boolean,
|
|
58
|
+
): string | undefined => {
|
|
59
|
+
const key = `${OPERATION_DESCRIPTION_NAMESPACE}.${toCamelCase(type)}`;
|
|
60
|
+
return has(key) ? translate(key) : undefined;
|
|
61
|
+
};
|